PHP 按位与或 (^ 、&)

WBOY
Release: 2016-06-23 14:30:29
Original
959 people have browsed it

 

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

     PHP 工作有1年了 可能对这块不太熟悉吧 在这里给新手朋友介绍下这部分

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

    

<?php$a = 1;$b = 2;$c = $a^b;echo $c  // 3?>
Copy after login

这里不是单纯的相加关系

十进制 1换算成二进制 00000001

十进制 2换算成二进制 00000010

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

然后,

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

十进制 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;?>
Copy after login

 

 

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template