为什么这个表达式在PHP中评估为true:
0 == " UNKNOWN"
答案 0 :(得分:3)
因为字符串被强制转换为int以进行比较,并且该字符串的int值为0.
请参阅http://php.net/manual/en/language.types.type-juggling.php
答案 1 :(得分:2)
你在两个变量之间进行了松散的比较;使用该运算符的规则包含在loose comparison table。
中答案 2 :(得分:2)
==
将对您的一个值进行类型转换以匹配另一个值。
(int)" UNKNOWN"
返回0
(int)0
返回0
所以
0==" UNKNOWN"
是true
答案 3 :(得分:0)
$string == " UNKNOWN";
var_dump((int)$string); //gives 0
所以它评估为真。