$A && $B = $C这种叫PHP短路表达式你知道吗

实用知识 7年前 (2017) 工具猫
4,146 0

短路运算的精髓就是
逻辑与(&&)->检查运算符第一个表达式是否为false,如果false直接返回false,后续的表达式直接忽略。
逻辑或(||)->检查运算符第一个表达式是否为true,如果是true直接返回true,后续表达式直接忽略。
PS:&&的优先级高于and、||的优先级高于or、等号(=)的优先级高于andor

看一段代码的时候,看到这样一行代码:
$removeHead && $this->html = $this->_removeHead($this->html);
抽象成 $A && $B = $C 。
学了几年php,竟然不知道什么意思了?


惭愧呀 !

查询方知

相当于

if ($A) {
    $B = $C; 
}

经网友OSC 网友 @Fenying 告知,这叫 短路表达式  (基于逻辑运算符的算路性质)。

以( A && B )为例:

如果左边A为 假 不执行 B

如果左边A为 执行 B。

感谢 @Fenying

原文出处:http://www.youyong.top/article/1159634782438

版权声明:工具猫 发表于 2017-07-12 16:51:35。
转载请注明:$A && $B = $C这种叫PHP短路表达式你知道吗 | 工具猫