PHP如果条件不起作用


PHP if condition not working

我在设置下面定义的"泳装"变量的值时遇到了一些问题,但是当我在MYSQL数据库中将值设置为"1"时,它会设置$real=true,但在其他情况下它会说"real未定义"。

$query4 = "SELECT swimsuit FROM player_equipment WHERE player_name='xhyderz'";
$result = mysql_query($query4,$link);
$row = mysql_fetch_assoc($result);
$swim = $row['swimsuit'];
$real=null;
if($swim==0){
    $real=false;
}else{
    $real=true;
}
echo "<script type='text/javascript'> var swimsuit=".$real."; </script>";

当您将布尔变量与这样的字符串连接时,您会得到以下内容:

var_dump(true  . ""); // "1"
var_dump(false . ""); // ""

因此,如果$realfalse,那么您的JavaScript看起来像:

var swimsuit=;

您可以将字符串"true""false"用于$real,也可以使用json_encode:

echo "var swimsuit=" . json_encode($real) . ";";

尝试:

if($swim==0){
    $real="false";
}else{
    $real="true";
}

编辑:

看看cbuckley的解释,比我的解释更清楚、更完整。