2019独角兽企业重金招聘Python工程师标准>>>
<?php
//定义动作的位,实际使用可以放在数据库,使用时再移一下位
define('ACT_QUERY', 1 << 0); //1
define('ACT_ADD', 1 << 1); //2
define('ACT_MODIF', 1 << 2); //4
define('ACT_DEL', 1 << 3); //8//检查是否有某一动作的权限,$act是要判断的动作,$my是用户的权限
function check($act,$my){return ($act & $my) ? 'Yes' : 'No';
}//用户权限,与操作,实际使用时,一般从数据库读取
$my = ACT_QUERY | ACT_ADD | ACT_DEL; printf("ACT_QUERY:%s\n", check(ACT_QUERY,$my)); //Yes
printf("ACT_ADD:%s\n", check(ACT_ADD,$my)); //Yes
printf("ACT_MODIFY:%s\n", check(ACT_MODIFY,$my)); //No
printf("ACT_DEL:%s\n", check(ACT_DEL,$my)); //Yes
?>