PHP中的预定义值null
如何同时等于0
且小于-1
?
请参阅以下代码:
<?php
var_dump(null == 0); // evaluates to true
var_dump(null < -1); // this also evaluates to true
?>
答案 0 :(得分:5)
它不是null的值,它给你的结果是比较期间的动态转换
对于php手册
对于各种类型,根据下表(按顺序)进行比较。
http://php.net/manual/en/language.operators.comparison.php
你可以看到,如果操作数1是bool或null并且操作数2不是转换为bool应用的边,并且在PHP中0也是假,在PHP中也将null,false,0和空字符串视为等于。所以
var_dump(null == 0);
与var_dump(false == false);
类似,其评估为 true
和var_dump(null < -1)
就像var_dump(false < true)
再次为真
因此你得到了这些结果