&& 和 ||
<?php
$test="李四";
$test=="张三"&&$test="张三来了";
echo $test; //输出“李四”
$test="李四";
$test=="张三"||$test="张三不在这里";
echo $test; //输出“张三不在这里”
?>
在参与逻辑运算的两边表达式中,是按照从左到右顺序进行运算的。
“与”运算中只要有一个是假,整个表达式的结果为假。所以,当左边表达式为假时,就无 需再进行运算了。
逻辑“或”就不同了:只要一个为真那整个表达式就为 真。所以,在左边为假的情况下,还要运行右边的表达式判断。
掌握这一点的关键就是表达式的运行方向,是从左到右。当第一个值决定整个表达式的值时就会停止运行。
值得说明的是右边可以是一个表达式,也可以是一个函数,但不能是一系列的语句组合或输出语句。
毕竟它还是逻辑表达式的一个组成部分。
最后,我们做以下总结:
对于“与”(&&) 运算: x && y 当x为false时,直接跳过,不执行y。
对于“或”(||) 运算 :x || y 当x为true时,直接跳过,不执行y。
?? 和 :?
$z = $x ?? $y; // 等价于 $z = isset($x) ? $x : $y;
$z = $x ?: $y; // 等价于 $z = $x ? $x : $y;
PHP中逻辑运算符的高效用法---&&和|| https://www.cnblogs.com/hurry-up/p/10220082.html
PHP7 ?:和??的区别 https://www.cnblogs.com/itbsl/p/10215877.html
PHP7 引入的“??” 和“?:”的区别 https://blog.csdn.net/weixin_43154922/article/details/82692831