Чтобы установить массив флажков с PHP, я использую закодированные десятичные числа из БД. Например, дес 5 (двоичные 0000 0101 наборов checkbox
1 и 3, чтобы checked
Я использую тройной оператор, как в этом примере для флажка 1:..Зачем нужна скобка в части условия тернарного оператора PHP
(5 & 1 == 1 ? 'checked' : '')
В результате false
, хотя она должна быть true
только тогда, когда я использую дополнительные скобки в условии части (5 & 1) == 1
я могу получить правильный результат Наконец, пример должен выглядеть следующим образом:.
((5 & 1) == 1 ? 'checked' : '')
Кто-нибудь знает, почему вы должны использовать скобки, подобные этому?
Посмотрите на [приоритет оператора] (http://php.net/manual/en/language.operators.precedence.php) –
Хорошо, это вы имеете в виду? Вы хотите сначала проверить «1 == 1» или «5 и 1»? – scrappedcola
@ John Conde - Хорошо, так что «сравнение» имеет более высокий приоритет, чем оператор ˚bitwise˚, спасибо. Если вы опубликуете ответ, я проверю его. – Ben