设置并检查两个位标志

时间:2015-04-14 15:46:03

标签: php bit-manipulation

我真正想做的事情:

有4个条件。最多2个将被设置。有最多4个有效组合。

$types = array(
    "A" => 0x1,
    "B" => 0x2,
    "C" => 0x4,
    "D" => 0x8,
);

我们可以有A / B + C / D(= AC,AD,BC,BD)

$flags = $types["A"] | $types["C"];    
if ($flags & ($types['A'] | $types['D'])) 
    echo "true";
else
    echo "false";

// output: "true"

好吧,我已经摆弄了这个......太久了。

如何正确设置和检查两个标志?

// pseudo code explanation
x = A + D
if(x = A+C) do something

0 个答案:

没有答案