的结果:
var_dump(null != $a = 15);
var_dump($a);
是:
bool(true)
int(15)
为什么这个脚本没有触发错误?
由于
!=
(不等运算符)的优先级高于 =
(赋值运算符),那么 $a
应该先与 null
进行比较? 最佳答案
我能找到的唯一原因是文档说这仍然是合法的:http://php.net/manual/en/language.operators.precedence.php#example-129
这似乎是上表所示内容的一个异常(exception)。