php基础:代码的短路特性和运算符优先级

//运算符优先级
$a = 3;
$b = 5;
if($a = 6 ||$b = 7){
    $a++;
    $b++;
}
echo $a,'<br/>',$b;//输出结果为1和6;运算思路为里面没有括号 里面先运行的是6||$b 逻辑运算符返回的为true echo出来就是1 bool值的true ++没有任何结果 赋值给$a 所以$a=1, $b没有赋值成功 ++所以为6

代码短路性应用: define('RATE')  || define('RATE',1.1);  因为是逻辑或  所以一个为真全部为真 这路代码的意思是先输出调用常量'RATE',要是常量'RATE'在前面定义过就直接调用,后面的那句代码就不用执行了  ,要是常量'RATE‘没有定义过,调用不到,就会接着执行后面的那句代码,定义一个常量’RATE'。

原文地址:https://www.cnblogs.com/ctx1989/p/6058427.html