利用按位运算符轻松管理权限
程序员文章站
2022-03-10 19:10:14
运算符 按位与 只有两个数都为1时,等于1 按位或 两个数其中一个是1,等于1 按位异或 两个数不相等则等于1,相等则等于0 取反 用途 使用上面介绍的运算符可以很轻松地实现权限管理 ......
运算符
按位与
只有两个数都为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)
上一篇: Django2.0使用记录
下一篇: spring 实战 — JPA