我不明白为什么这句话两次都成立。?
$hello="foo";
if($hello<=6){
echo "yes\n";
}
if ($hello>=0) {
echo "ohh yess!";
}
输出
yes
ohh yess!
我知道这是整数和字符串之间的非法比较,但为什么它最终还是真的。
最佳答案
这是因为 type juggling in PHP .所以 "foo"
的计算结果为零,因为它已转换为整数。如果您使用相同的运算符 (===
),则不会进行类型转换,因此 "foo"
将被视为文字字符串,然后您的语句将计算为 false。
关于php - 为什么字符串大于或小于整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20761906/