现在的硬盘越来越便宜,内存越大越大,程序也越做越大了。为什么不用位来表示权限呢?我来给你个demo把 
只要用一小小的整数, 0-65535 (0xffff)就可以表示 16种类别的权限。
以及 6万多种不同权限的排列组合。
如果不够用,php 的 signed int型最大可以到 21亿吧 0x7fffffff 
<?
define("_A",0x0001);
define("_B",0x0002);
define("_C",0x0004);
define("_D",0x0008);define("_E",0x0010);
define("_F",0x0020);
define("_G",0x0040);
define("_H",0x0080);define("_I",0x0100);
define("_J",0x0200);
define("_K",0x0400);
define("_L",0x0800);define("_M",0x1000);
define("_N",0x2000);
define("_O",0x4000);
define("_P",0x8000);$bit=0x0000;   //初始状态没任何权限$bit |= _E;    //给它 _E 权限
$bit |= _N;    //给它 _N 权限
if  ($bit & _E)  printf("_E ok\n");
if  ($bit & _N)  printf("_N ok\n");
if (($bit & _E) && ($bit & _N)) printf("_E _N ok\n\n\n\n");$bit &= ~_N;    //剥夺 _N 权限if  ($bit & _E)  printf("_E ok\n");
if  ($bit & _N)  printf("_N ok\n");
if (($bit & _E) && ($bit & _N)) printf("_E _N ok\n");