今天朋友群里朋友问了下 按位与或的问题。。 PHP 工作有1年了 可能对这块不太熟悉吧 在这里给新手朋友介绍下这部分 按位于主要是对二进制数操作。 <div class="codetitle"><a style="CURSOR: pointer" data="69549" class="copybut" id="copybut69549" onclick="doCopy('code69549')"> 代码如下:<div class="codebody" id="code69549"> <?php $a = 1; $b = 2; $c = $a^b; echo $c // 3 ?>
这里不是单纯的相加关系
十进制 1换算成二进制 00000001 十进制 2换算成二进制 00000010 按位^ 00000011 // 就是不相同的都算成1 啦 ^_^ 然后, <div class="codetitle"><a style="CURSOR: pointer" data="61263" class="copybut" id="copybut61263" onclick="doCopy('code61263')"> 代码如下:<div class="codebody" id="code61263"> <?php $a = 1; $b = 2; echo $a & $c; // 1 ?> 十进制 3换算成二进制 00000011 十进制 1换算成二进制 00000001 按位& 00000001 // 就是各个位数相同的不变否则都算成0 最后介绍下用法 ; 按位&后返回值是没意义的。 主要是用来判断$a 是否存在于 $c // 权限用法比较多。 <div class="codetitle"><a style="CURSOR: pointer" data="39236" class="copybut" id="copybut39236" onclick="doCopy('code39236')"> 代码如下:<div class="codebody" id="code39236"> <?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.'的权力 '; } echo $Pri; ?>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|