研究代码时发现个有意思的现象

逻辑运算符中的 “并且 &&” 和 “或者 ||”

当 && 前为 false 时,无需执行后面语句即可返回结果 false;

当 && 前为 true 时,需执行后面,若后面为 true 则结果返回 true,若后面为 false 则结果返回 false;

当 || 前为 true 时,无需执行后面语句即刻返回结果 true;

当 || 前为 false 时,需执行后面,若后面为 true 则结果返回 true,若后面为 false 则结果返回 false;

由于逻辑运算符 && ||  的优先级高于赋值运算符 =

以 $b=0 || $c=2 为例

|| 的优先级高一些,先算 0 || $c

由于 $c = 2,所以 即 0 || 2

返回 true,true 就赋给了$b

所 $b = true

echo $b 就等于 1

发表评论

电子邮件地址不会被公开。 必填项已用*标注