2

我想使用按位运算符为订阅页面提供用户可见性。就像用户对页面的权限是 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;
   }

我使用了这段代码,但它没用我需要帮助和建议......谢谢你:)

4

1 回答 1

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;
于 2013-07-22T10:59:26.367 回答