我们一路奋战,不是为了改变世界,而是为了不让世界改变我们。 收藏本站
登陆 / 注册 搜索

阅读: 226   回复: 2

[# PHP] 位运算符 |、&和逻辑运算符 ||、&& 的区别

回复 发新帖
小执念古黑浩劫 论坛大牛 2020-3-27 23:37 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
十万人都在学习的网络安全知识
位运算符

在PHP中,| & 被称为位运算符,两者的含义如下:

|: 参加运算的两位运算量有一位为1时,该位为1,否则为0
&: 参加运算的两位运算量相应位均为1时该位为1,否则为0

先将运算量转为二进制进行然后进行位对比,看下面的列子:

  1. <?php
  2. $a = 10;        //二进制为:00000000 00000000 00000000 00001010
  3. $b = 20;        //二进制为:00000000 00000000 00000000 00010100
  4. $c = $a | $b;    //二进制为:00000000 00000000 00000000 00011110
  5. echo $c;        //上面的二进制位运算后结果为30
  6. ?>
复制代码



逻辑运算符

||: 逻辑或,左右两边参数都为 FALSE,返回 FALSE,否则返回 TRUE
&&: 逻辑或,左右两边参数都为 TRUE,返回 TRUE,否则返回 FALSE

两者区别

逻辑运算符存在短路问题,比如在进行逻辑或(||)运算的时候,如果左边为TRUE,就直接返回TRUE,不再判断右边的结果。而位运算符则不存在短路问题,左右两边都要执行。


楼主| 小执念古黑浩劫 论坛大牛 2020-3-27 23:47 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
什么是位运算:

从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+-*/)都是叫位运算,即将符号位共同参与运算的运算。
微雨黄昏「出类拔萃」 2020-3-27 23:37 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

曾梦想仗剑走天涯,因太穷放弃了计划
您需要登录后才可以回帖 登录 | 注册账号  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2020-5-31 14:33 , Processed in 0.027762 second(s), 23 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表