Допустим, у меня есть следующие флаги, которые можно прикрепить к клиенту:
1 Hot
2 Urgent
4 Sensitive
8 Confidential
В моей таблице я бы хранил активного клиента как целое число 6.
Я полагал, что такие действия спасут меня от справочной таблицы и сделают запросы быстрее.
Как мне заставить PHP интерпретировать 6 и, например, осветить клиента и активную иконку?
Побитовые операторы добьются цели:
$flag = 6; // value from the database
$customer = 2; // constant value
$active = 4; // constant value
if ($flag & $customer)
{
print 'I am a customer.';
}
if($flag & $active)
{
print 'I am active.';
}
Я согласен с @GordonLinoff, хотя. Подумайте, действительно ли это то, что вы хотите, потому что потом изменить непросто, и это может привести к неожиданным сценариям.
Других решений пока нет …