php - Calculate the index number of a value - bitwise sort of -
i want provide user visibility subscription pages using bitwise operators . if user's permission page 60 able see subscription pages visibility set on 2,3,4,5 (eg. 2^2 =4,2^3=8,2^4=16,2^5=32 32+16+4+2 =60 allowed view pages permission id =2,3,4,5)
public function permission($perm) { $this->permission = ~$perm & $this->permission; }
i used code useless need , suggesations.......thank :)
adding permission:
$this->permission |= $perm;
checking if permission set:
$is_permitted = (bool)($this->permission & $perm);
checking permissions set:
for ($permissions = array(), $i = ceil(log($this->permission, 2) + 0.1) /* floating point imprecision */; $i >= 0; $i--) if ($this->permission & (1 << $i)) $permissions[] = $i;
Comments
Post a Comment