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

Arn*_*Roa 17 php

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

我有这段代码:

$o['group'] = "prueba";
if( $o['group'] == 0){
    die("test");
}
Run Code Online (Sandbox Code Playgroud)

为什么打印测试?怎么可能一个字符串等于零?

Lau*_*rke 18

如果你想让它与字符串完全匹配,请尝试使用三个等号的确切typof,因此
if( $o['group'] === 0){
==将字符串与0的整数进行比较时,它总是会评估为true

'a string'== 0也计算为true,因为与整数相比,任何字符串都会转换为整数.如果PHP无法正确转换字符串,则将其计算为0.因此0等于0,等于为真.

这里开始


Ale*_*x Z 10

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