可能重复:
Why does PHP consider 0 to be equal to a string?
我有一段代码:
$o['group'] = "prueba";
if( $o['group'] == 0){
die("test");
}
为什么要打印测试?字符串怎么可能等于零呢?
发布于 2011-12-30 02:43:12
如果您希望它与字符串完全匹配,请尝试使用三个等号的精确类型,如下所示
if( $o['group'] === 0){
将字符串与整数0进行比较时,==
的计算结果始终为true
'a string‘== 0的计算结果也为true,因为在与整数进行比较时,任何字符串都会转换为整数。如果PHP不能正确转换字符串,则将其计算为0。所以0等于0,这等于真。
来自here
发布于 2011-12-30 02:42:38
使用带有类型检查"===“的比较运算符。在这里查找示例http://php.net/manual/en/language.operators.comparison.php,并解释为什么非数字字符串与零的比较总是返回true
。
https://stackoverflow.com/questions/8671942
复制相似问题