PHP 按位与或 (^ 、&)
2024-09-30 14:44:26
今天朋友群里朋友问了下 按位与或的问题。。
按位于主要是对二进制数操作。
<?php
$a = 1;
$b = 2;
$c = $a^b; echo $c // ?>
这里不是单纯的相加关系
十进制 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;
?>
最新文章
- 【UWP】解析GB2312、GBK编码网页乱码问题
- 在CentOS上安装和部署Shiny Server
- 用HttpWebRequest提交带验证码的网站
- JS实现元素拖动
- [WinAPI] 串口读写
- 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)
- Ubuntu添加PPA源
- Java语言基础(五)
- Android 判断wifi和4G网络是否开启
- Oracle Dataguard三种保护模式概述(转)
- 安装Eclipse环境
- 【javascript】浅谈javaScript的深拷贝
- EasyPR源码剖析(2):车牌定位
- MySql两种存储引擎的区别
- [openjudge-动态规划]买书
- Java LocalDateTime,DateTimeFomatter----JDK8新时间类的简单使用
- 学习BOS物流项目第十天
- apache ab
- 用exec调用带有output输出参数的存储过程
- Spring框架(管理事务)