PHP中&&与and、||与or的区别

时间:2022-10-16 17:20:57
        在PHP中,&&与and都表示逻辑与,||与or都表示逻辑或,并且它们都是短路运算符。而它们的区别在于运算的优先级不同。
<?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);
?>