[PHP-users 3404] Re: 論理積での条件分けについて
Osamu Shigematsu
php-users@php.gr.jp
Thu, 08 Nov 2001 12:48:49 +0900
重松です。
on 01.11.8 0:35 PM, TMR at tmr@mbi.nifty.com wrote:
> TMRと申します。
>
> 変数manにA,B,Cのどれかの値が入っているとします
> A=111 (ALL権限)
> B=010
> C=001
>
> 条件で、
> 条件I = 111 で 制限なしページ へ
> 条件J = 011 で Aの人専用ページ へ
> 条件K = 101 で A,Bの人用ページ へ
> 条件L = 110 で A,Cの人用ページ へ
> とやりたいのですが、
表を使えばいいのでは。
$man_t =
array
(
'A' => 7,
'B' => 2,
'C' => 1
);
あるいは、
$perm1 = 1 << 0; // 権限1
$perm2 = 1 << 1; // 権限2
$perm3 = 1 << 2; // 権限3
$man_t[A] = -1; // 全ての権限
$man_t[B] = $perm3 | $perm1;
$man_t[C] = $perm3 | $perm2;
のようにもっと整理するとか。
当然、見やすいですが計算するから遅い。
(APC とか使えばオーバヘッドはなくなると思いますが)
あとは、正規表現を使うという方法もあるかと思います。
--
Osamu Shigematsu
http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp