if(0 == 'hello') = true (神奇的php)

来源:互联网 发布:守望先锋性能数据rtt 编辑:程序博客网 时间:2024/06/05 18:30
$a='abc';
if('abc'==0){
    echo "偶数";
 }else{
     echo "奇数";

}


结果为  “偶数”;

现在带大家一起探索其中的奥秘


== 比较数字和字符串时会将字符串转为数字再比较,PHP 转换字符串的规则是从字符串开头尝试转换为合适数字,例如 "123hello" 会转换为 123,而当字符串开头不是数字格式时则会转换为 0。如果要严格比较,可以使用===运算符


上面的例子会把‘abc’强制转换成数字0,此时正好0==0,条件成立,所以输出为偶数。


0 0