雷人的PHP的运算符优先级
PHP中的运算符优先级, 比较运算符高于位运算符, 赋值运算符高于部分逻辑运算符, 真是坑啊.
比较运算符高于位运算符, 所以
$A == $B & $C
等价于 ($A == $B) & $C
而 不是先做&
再进行比较
赋值运算 and
or
xor
高于逻辑运算, 但却低于 &&
和 ||
, 所以
<?php
$a = true and false;
var_dump($a); // 输出是 bool(true)
$b = true and false;
var_dump($b); // 输出是 bool(false)
上面那行居然是 先把 true
赋给 $a
, 然后再与后面的false …