//运算符优先级
$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'。