温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

学习笔记:逻辑运算符也有优先级区别

发布时间:2020-09-11 00:56:23 来源:网络 阅读:1055 作者:七彩极 栏目:web开发

不尝试还真不知道,居然是因为优先级的差别导致,如果是真实编程中遇到,排错就很困难了,幸亏这里看到了:

$a = true;             //声明一个布尔型变量$a,赋值为真
$b = true;             //声明一个布尔型变量$b,赋值为真
$c = false;            //声明一个初值为假的布尔型变量$c
 
if($a or $b and $c){      //用or做判断
    echo "真";
}else{
    echo "假";
}
 
echo "<br/>";
 
if($a || $b and $c){      //用||做判断
    echo "真";
}else{
    echo "假";
}


输出结果:



没有错,就是“先真,后假”,就是因为and优先级比or高,而||又比and高。。。。


更多详细的优先级


运算符优先级
结合方向运算符附加信息
非结合clone newclone 和 new
[array()
非结合++ --递增/递减运算符        
非结合~ - (int) (float) (string) (array) (object) (bool) @类型        
非结合instanceof类型        
右结合!逻辑操作符        
* / %算术运算符        
+ - .算术运算符 和 字符串运算符
<< >>位运算符        
非结合< <= > >= <>比较运算符        
非结合== != === !==比较运算符        
&位运算符 和 引用
^位运算符        
|位运算符        
&&逻辑运算符        
||逻辑运算符        
? :三元运算符        
= += -= *= /= .= %= &= |= ^= <<= >>=赋值运算符        
and逻辑运算符
xor逻辑运算符        
or逻辑运算符        
,多处用到


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI