雷人的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 …

more ...