This question already has answers here:
Comparing String to Integer gives strange results
(5个答案)
5年前关闭。
我有以下代码:
该代码的结果将是:
为什么???我的PHP版本:5.4.10。
PHP会将字符串转换为数字进行比较。使用
Docs
(5个答案)
5年前关闭。
我有以下代码:
$test = 0;
if ($test == "on"){
echo "TRUE";
}
该代码的结果将是:
TRUE
为什么???我的PHP版本:5.4.10。
最佳答案
$test = 0;
if ($test === "on"){
echo "TRUE";
}
PHP会将字符串转换为数字进行比较。使用
===
,将比较值和数据类型。var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
Docs
关于php - PHP中非常奇怪的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35837466/