谢谢你的光临。
代码
$variable = 10;
$variableOne = 10;
$result = $variable == $variableOne;
echo $result;
当$ variable和$ variableOne之间的比较返回false时,为什么$ result未分配0?但是最终结果是否则,当比较返回true时,$ result被赋值为1。
感谢您的时间, PHP初学者。
答案 0 :(得分:2)
$result
已分配true
或false
。这很重要。它不是1
或0
,而是true
或false
。在echo
true
时,会将其输出为1
。当echo
false
时,它将作为空字符串输出。请尝试使用var_dump($result)
来查看差异。
请参阅http://www.php.net/manual/en/language.types.string.php#language.types.string.casting
答案 1 :(得分:0)
执行var_dump($result);
并看到此变量是布尔值,因为它已被赋予==
运算符评估,总是布尔。
答案 2 :(得分:-1)
$ result不是表达式的结果,但在您的代码中是一个(无效的)赋值。
语法应该是这样的:
if($variable == $variableOne){
$result = true;
} else {
$result = false;
}
echo $result;