发表时间:2014-09-05来源:网络
假设有十进制数字10
获取10的二进制每一位的值:
(10 >> 0) & 0x01 //最低位的值
(10>> 1)& 0x01 //倒数第二位的值
假设有二进制数101
转10进制
$res = 0;
$res |= (1
$res |= (1
//中间位不是1
power as $k => $v){ if(in_array($v,$user)){ $res |= (1 power as $k => $v){ $res[$v] = ($num >> $k) & 0x01; } return $res; }}//假设现在有个用户拥有P1,P4权限$user = array('P1','P4');$test = new Test();//查看用户权限的int值var_dump($test->getPowerInt($user));//输出9//注意顺序为倒序如果有个用户是0101即只有P1,P3两个权限,即十进制5,//输出权限列表var_dump($test->getPowerByInt(5));//输出array(4) {// ["P1"]=>// int(1)// ["P2"]=>// int(0)// ["P3"]=>// int(1)// ["P4"]=>// int(0)// }//----------------如果权限不够用了,需要新增权限--------//倒序。新增在高位//修改$power// $power = array(// "P1",// "P2",// "P3",// "P4",// "P5",// );// 测试新结果 :老权限不受影响。老用户默认没有新权限// 所以可以在设计之初认为最低位为最高权限,all。// var_dump($test->getPowerInt($user));//输出9// var_dump($test->getPowerByInt(5));//输出array(4) {// ["P1"]=>// int(1)// ["P2"]=>// int(0)// ["P3"]=>// int(1)// ["P4"]=>// int(0)// ["P5"]=>// int(0)// }
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
es文件安全管理器软件(es文件浏览器)下载v4.4.3.4 安卓版
95.56MB |系统工具
松果优惠券app(改名为赚钱联盟)下载v78.0.0 安卓版
98.51MB |生活服务
es文件浏览器最新版下载v4.4.3.4 手机版
95.56MB |系统工具
返利优惠券联盟软件下载v7.4.6 安卓官方版
104.92MB |生活服务
保安多多app下载v2.1.2 安卓版
75.52MB |商务办公
ha go app下载v2.34.0 安卓最新版本
229.46MB |生活服务
超级智慧家智能家居下载v5.04.008 安卓版
194.31MB |生活服务
微博钱包app最新版本下载v4.12.0 安卓版
55.52M |生活服务
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05