PHP 按位与或 (^ 、&)

WBOY
풀어 주다: 2016-06-23 14:30:29
원래의
960명이 탐색했습니다.

 

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

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

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

    

<?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;?>
로그인 후 복사

 

 

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿