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

来源:互联网 发布:苹果刷机 for mac 编辑:程序博客网 时间:2024/03/29 06:28
<?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(短路特性),所以整个表达式的值为真,执行自加语句;
*/
?>
原创粉丝点击