PHP中位运算(位与、位或 )的不同用途
按位与、按位或在php的开发过程中有什么作用呢?
按位与、按位或在php的开发过程中有什么作用呢?
/** * 1、权限应用 * 拥有哪些权限,就把这些权限对应的数值加起来 * 例如:版主拥有权限(增加、删除、修改、查询),则版主的权限值存储为15(8+4+2+1) * 然后【权限值之和】 与 【实际权限值】做【位于】比较 * 结果是真则拥有权限 * 结果是假则没有权限 * * 注意:权限值必须是2的N次方,从0次方开始,31次方是2147483648 * 32次方是4294967296,已超过了常用int(10)最大存储4294967295,所以必须注意权限数量(<31个) * 当然如果存储格式为bitint或varchar等可以存储更长数字的格式,那么权限数量可以继续增加 */ $permission = 15; //1+2+4+8 拥有全部权限 $permissions = array( 8 => '增加', 4 => '删除', 2 => '修改', 1 => '查询' ); foreach ($permissions as $key => $val) { if($key & $permission) { echo '我有' . $val . '的权力<br>'; } }
精彩图集
精彩文章