<?php $t1=true and false; $t2=true && false; var_dump($t1,$t2); ?>
在上面的代码中$t1的值为true,$t2的值为false。因为运算符and、=、&&的优先级为&&>=>and,所以在执行第一行时,会先将true赋值给t1,false被忽略。而第二行代码会先进行&&运算,然后将运算的结果false,赋值给t2。
同样对于||和or。运算符or、=、||的优先级为||>=>or。下面代码运行后,$t1的值为false,$2的值为true。
<?php $t1=false or true; $t2=false || true; var_dump($t1,$t2); ?>