浅析PHP 按位与或 (^ 、&)

yipeiwu_com6年前PHP代码库
今天朋友群里朋友问了下 按位与或的问题。。
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生成rss类用法实例

本文实例讲述了php生成rss类用法,分享给大家供大家参考。具体如下: <?php require('rssbuilder.class.php'); header('C...

简化php模板页面中分页代码的解析

在使用模板的时候,会遇到这么一个问题:显示分页信息时操作麻烦,n多个模板都有分页块。 例如: ---共 20 条记录,当前 3/5 页 首页 上一页 下一页 尾页 GO----- 初遇到...

PHP根据key删除数组中指定的元素

php数组中元素的存在方式是以键值对的方式('key'=>'value'),有时候我们需要根据键删除数组中指定的某个元素。 function bykey_reitem($a...

php intval函数用法总结

语法: int intval ( $var, $base ) 参数: 此函数接受两个参数,其中一个是必需的,而另一个是可选的。 参数如下所述: $var:这是一个必需参数,用作需要...

PHP设计模式之迭代器模式的深入解析

PHP设计模式之迭代器模式的深入解析

迭代器(Iterator)模式,它在一个很常见的过程上提供了一个抽象:位于对象图不明部分的一组对象(或标量)集合上的迭代。迭代有几种不同的具体执行方法:在数组属性,集合对象,数组,甚至一...