PHP 字符串比较为 0 整数返回 true


php string comparasion to 0 integer returns true?

可能的重复项:
为什么 PHP 认为 0 等于字符串?

我有这段代码:

$o['group'] = "prueba";
if( $o['group'] == 0){
    die("test");
}

为什么要进行打印测试? 字符串怎么可能等于零?

如果您希望它与字符串完全匹配,请尝试使用完全相同的三个等号,例如 so
if( $o['group'] === 0){
将字符串与整数 0 进行比较时,==的计算结果始终为 True

"A String" == 0 的计算结果也为 true,因为与整数相比,任何字符串都会转换为整数。如果 PHP 无法正确转换字符串,则将其评估为 0。所以 0 等于 0,等于 true。

从这里

将比较运算符与类型检查"==="一起使用。在这里查看示例 http://php.net/manual/en/language.operators.comparison.php 并解释为什么与零相比的非数字字符串总是返回true