我想使用按位运算符为订阅页面提供用户可见性。如果用户对页面的许可是60,那么他将只能看到那些在2,3,4,5上设置可见性的订阅页面(例如,2 ^ 2 = 4,2 ^ 3 = 8,2 ^ 4 = 16,2 ^ 5 = 32所以32 + 16 + 4 + 2 = 60所以他被允许查看权限id = 2,3,4,5的页面
public function permission($perm)
{
$this->permission = ~$perm & $this->permission;
}
我使用了这段代码,但它没用 我需要帮助和建议.......谢谢:)
答案 0 :(得分:2)
添加权限:
$this->permission |= $perm;
检查是否设置了权限:
$is_permitted = (bool)($this->permission & $perm);
检查设置了哪些权限:
for ($permissions = array(), $i = ceil(log($this->permission, 2) + 0.1) /* floating point imprecision */; $i >= 0; $i--)
if ($this->permission & (1 << $i))
$permissions[] = $i;