利用按位运算符轻松管理权限

运算符

按位与

只有两个数都为1时,等于1

0 & 0 = 0;
0 & 1 = 0;
1 & 0 = 0;
1 & 1 = 1;

按位或

两个数其中一个是1,等于1

0 | 0 = 0;
0 | 1 = 1;
1 | 0 = 1;
1 | 1 = 1;

按位异或

两个数不相等则等于1,相等则等于0

0 ^ 0 = 0;
0 | 1 = 1;
1 | 0 = 1;
1 | 1 = 0;

取反

~0 = 1;
~1 = 0;

用途

使用上面介绍的运算符可以很轻松地实现权限管理

//定义权限
$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)

转载于:https://www.cnblogs.com/justlikeheaven/p/8157272.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值