纵有疾风起
人生不言弃

PHP中逻辑运算符的短路特性

<?php
//逻辑运算符的短路特性:
//例1:$a>5&&$a<100,如果$a=2,则此时只会执行到$a>5返回假值,后面的不用执行;
//例2:$a>5||$a<100,如果$a=6,则此时只会执行到$a>5返回真值,后面的也不必执行,所以叫短路;
$a=0;$b=0;
if($a=3&&$b=3)
{
$a++;
$b++;
}
var_dump($a).”<br>”; //输出 bool true
var_dump($b).”<br>”; //输出 int 4
/*注解:$a=3&&$b=3时,由于是赋值语句,且赋值语句的优先级低于逻辑运算符,故会先执行后面的3&&$b=3
这一块并且会把3的值赋给$b,所以整个表达式的值为真,执行自加语句;
*/

$a=0;$b=0;
if($a=3||$b=3)
{
$a++;
$b++;
}
var_dump($a).”<br>”;//输出 bool true;
var_dump($b).”<br>”;//输出 int 1;
/*注解:$a=3||$b=3时,由于是赋值语句,且赋值语句的优先级低于逻辑运算符,故会先执行后面的3||$b=3
这一块且不会执行$b=3(短路特性),所以整个表达式的值为真,执行自加语句;
*/
?>

原文链接:https://blog.csdn.net/living_ren/article/details/72934927

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

未经允许不得转载:起风网 » PHP中逻辑运算符的短路特性
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录