加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php中的或运算

发布时间:2020-05-25 02:58:54 所属栏目:PHP 来源:互联网
导读:1.今天碰到一个php或运算的面试题,很有趣,和大家分享一下。开始不明白什么原因。?php$a = 0;$b = 0;if($a=3)0 || ($b=3)0){$a++;$b++;}echo $a; // 4echo $b; //1if(($a=3)0 | ($b=3)0){$a++;$b++;}echo $a; // 4echo $b; // 4解释:第一个if判断:这是布尔

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

0 || ($b=3)>0) { $a++; $b++; } echo $a; // 4 echo $b; //1 if(($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时,后面的条件则不再检查,直接跳出&是位运算符,表示按位与运算。&&是逻辑运算符,会短路。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读