2012-11-08 234 views
-4

我权限授予这样的人:授予权限,如Linux

$ARR_PERSON = array(
    2 => "Person B", 
    4 => "Person C", 
    8 => "Person D", 
    16 => "Person E", 
    32 => "Person F", 
    ); 

的问题是我不知道如何获得许可时,我有一个数字。例如:24.如何将它分成8和16?我想不出解决方案。

+0

它是如何实现的?为什么不是4,4,4,4 ....或16,4,4?或者2,2,.....或者2,2,4,.... – itachi

回答

3

使用按位运算。当PERMISSION & MASK非零时(例如,24 & 16),该标志被置位。当它为零时,标志没有设置。

+0

我不明白。你能详细说明吗?我应该使用哪个功能? – Emerald214

+0

循环访问权限并测试'($ user-> permissions&mask)!= 0'?这并不复杂。 – duskwuff

+0

我很抱歉什么是面具? – Emerald214