изменение логических значений в php

#php #variables #boolean

#php #переменные #логическое

Вопрос:

У меня есть куча значений из флажков, которые являются логическими. Все, что я хочу сделать, это установить для них значение yes, если они равны 1, и no, если они равны 0.

Мой код терпит неудачу, выглядит нормально для меня?

 $item =  $form_state['values']['item1'] == 1 ? 'Yes' : 'No';
 

Ответ №1:

Если у ваших флажков атрибут value равен 1, все должно быть в порядке:

 <input ... type="checkbox" value="1" />
 

Если вы не установили эти значения или во всех случаях, вы можете просто проверить, существуют ли они в $_GET $_POST массиве or (предполагается $form_state , что они взяты оттуда):

 $item = isset($form_state['values']['item1']) ? 'Yes' : 'No';
 

Приведенный выше пример должен работать для вас. Имейте в виду, что переключатели и флажки не будут установлены $_GET или $_POST вообще не будут установлены, что также может привести к появлению уведомления или предупреждения при попытке доступа к несуществующему индексу.

В более старых версиях php вам может потребоваться использовать $_REQUEST .