249建站之家:浅析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;

?>


推荐

  • QQ空间

  • 新浪微博

  • 人人网

  • 豆瓣

取消