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

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

站在用户的角度思考问题,与客户深入沟通,找到新荣网站设计与新荣网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖新荣地区。

$a = true;             //声明一个布尔型变量$a,赋值为真
$b = true;             //声明一个布尔型变量$b,赋值为真
$c = false;            //声明一个初值为假的布尔型变量$c
 
if($a or $b and $c){      //用or做判断
    echo "真";
}else{
    echo "假";
}
 
echo "
";   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逻辑运算符        
左,多处用到

名称栏目:学习笔记:逻辑运算符也有优先级区别
链接URL:http://bzwzjz.com/article/jgscss.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 企业网站设计 成都网站制作 成都网站设计公司 成都网站建设公司 定制网站建设多少钱 古蔺网站建设 重庆手机网站建设 高端网站设计 网站建设方案 手机网站建设套餐 成都网站建设 定制网站建设 自适应网站建设 企业网站设计 LED网站设计方案 成都定制网站建设 网站设计制作 手机网站制作设计 成都网站建设公司 高端网站建设 外贸网站建设 营销型网站建设