#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
.