zoukankan      html  css  js  c++  java
  • PHP 按位与或 (^ 、&)

    今天朋友群里朋友问了下 按位与或的问题。。

         按位于主要是对二进制数操作。

       

    复制代码
    <?php
    $a = 1;
    $b = 2;
    $c = $a^b;
    
    echo $c  // 3
    
    ?>
    复制代码

       这里不是单纯的相加关系 

       十进制 1换算成二进制  00000001

       十进制 2换算成二进制  00000010

       按位^                       00000011   // 就是不相同的都算成1 啦 ^_^

       然后,

    <?php
    $a = 1;
    $b = 2;
    echo $a & $c;  // 1
    ?>

    十进制 3换算成二进制 00000011

    十进制 1换算成二进制 00000001

      按位& 00000001 // 就是各个位数相同的不变否则都算成0

    最后介绍下用法 ; 按位&后返回值是没意义的。 主要是用来判断$a 是否存在于 $c // 权限用法比较多。

    复制代码
    <?php
    $my_privilege = 15;  // 1+2+4+8 拥有全部权限
    $Pri = '';
    $privilege_arr = array(8=>'增', 4=>'删',2=>'改',1=>'查');
    
    foreach($privilege_arr as $k =>$v){
      $k & $my_privilege &&  $Pri .= '我有'.$v.'的权力<br>';
    }
    echo $Pri;
    ?>
    复制代码
  • 相关阅读:
    mysql事务
    数据类型
    win10 开启全局代理
    高并发的一些思考
    多线程也不一定比单线程快
    单线程的JavaScript
    Vue2 响应式原理
    检查Object是否存在某个属性
    堆和栈
    LeetCode
  • 原文地址:https://www.cnblogs.com/jthb/p/3328482.html
Copyright © 2011-2022 走看看