Установите и проверьте двухбитные флаги

Что я на самом деле хочу сделать:

Есть 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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]