博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php中的或运算
阅读量:7087 次
发布时间:2019-06-28

本文共 538 字,大约阅读时间需要 1 分钟。

1.今天碰到一个php或运算的面试题,很有趣,和大家分享一下。开始不明白什么原因。

0 || ($b=3)>0) { $a++; $b++; } echo $a; // 4 echo $b; //1if(($a=3)>0 | ($b=3)>0){ $a++; $b++;} echo $a; // 4 echo $b; // 4

解释:

第一个if判断:这是布尔短路运算,|| 运算的第一个表达式满足的时候,不再计算表达式二,因此$b=3的赋值没有执行。象if(x || y)这种判断,如果前一个条件x为true的话,那就不会继续执行后面的判断了,所以上面的代码中if那里$b=3是没有执行的,b还是0,所以++后还是1

| : 会检查每一个 条件的真伪,再做“或”运算 (光棍的不怕死)

||: 按照条件写的顺序,直到一个为true时,后面的条件则不再检查,直接进入条件
& : 会检查每一个 条件的真伪,再做“与”运算  (光棍的不怕死)
&&: 按照条件写的顺序,直到一个为false时,后面的条件则不再检查,直接跳出
&是位运算符,表示按位与运算。&&是逻辑运算符,会短路。

 

转载地址:http://kagml.baihongyu.com/

你可能感兴趣的文章
【备忘录】毕业选课计划
查看>>
Python安装升级步骤
查看>>
struts2,servlet和springmvc的单例多例问题
查看>>
JavaScript 二进制转文件
查看>>
如何用 Python 模糊搜索文件
查看>>
使用k-近邻算法改进约会网站的配对效果
查看>>
正则大全(转)
查看>>
易维清使用技巧:权限精确控制到字段
查看>>
UVa(12821),MCMF
查看>>
Count of Smaller Number After Itself
查看>>
备忘录模式 Memento 快照模式 标记Token模式 行为型 设计模式(二十二)
查看>>
cacti系列(三)之cacti添加对mysql服务器主从的监控
查看>>
shell编程系列10--文本处理三剑客之sed利用sed查询特定内容
查看>>
【项目管理】项目管理发展的新阶段——PRINCE2项目管理方法
查看>>
C++模式学习------代理模式
查看>>
UVA11945 Financial Management
查看>>
ACM算法分类
查看>>
c中static作用
查看>>
Gulp-livereload:实时刷新编码
查看>>
三天打鱼两天晒网(15)
查看>>