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 に答える