Bap*_*sta 7 php compiler-construction parsing operators
的结果:
var_dump(null != $a = 15);
var_dump($a);
Run Code Online (Sandbox Code Playgroud)
是:
bool(true)
int(15)
Run Code Online (Sandbox Code Playgroud)
为什么这个脚本不会触发错误?由于!=(不等于运算符)的优先级高于=(赋值运算符),$a应该与null第一个进行比较?
我能找到的唯一原因是文档说这仍然是合法的:http://php.net/manual/en/language.operators.precedence.php#example-129
它似乎是上表中显示的例外.
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |