php 按位读取数据库,php按位运算轻松管理百万级数据

符号名称说明 (转移完成后是二进制数)示例总结

<

1<<1  等同于 10  等于 2

1<<2  等同于 100  等于 4

1<<3  等同于 1000  等于 8-

|按位或两个数有一个是1 就等于1     不进位加法3|2  换成二进制  11 | 10  =11 等于3多位二进制也是一样,遵循规则,

11 和 10  ,我们转换成十进制来说

十位上都一样,是1 ,个位是只要有一个数是 1 就是1 ,则 等到11 ,11换算成二进制就是3

&按位与只有两个数都为1时 等于1     不进位加法3&2  换成二进制  11 & 10 =10   等于2

^按位异或两个数不相等则等于1 ,相等则等于0

~取反

>>右移a>>b 把十进制数转成二进制数后,去掉 右边 b位8>>2   去掉右边2位  得到 2   8的二进制数1000

10>>2   去掉右边2位  得到 2   8的二进制数1010 去掉后边2位 得到 2

20>>2 =5   剩下二进制 101 转成十进制 5

20>>3 =2

用途:

使用上面介绍的运算符可以很轻松地实现权限管理//定义权限$create = 1;

$update = 2;

$read = 4;

$delete = 8;

$all = $create | $update | $read | $delete;//定义用户组权限$admin = $all; //管理员拥有所有权限$guest = $create | $read; //访客只有添加和读权限$user = $all & ~$delete; //用户拥有除了删除以外的所有权限//判断某个组是否拥有某个权限var_dump($user & $update, $user & $delete, $guest & $update);#=>int(2) int(0) int(0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值