змена лагічных значэнняў у PHP

У мяне ёсць куча значэнняў з сцяжкоў, якія з'яўляюцца лагічнымі. Al Я хачу зрабіць, гэта ўсталяваць іх так, калі яны роўныя 1 і не, калі яны роўныя 0.

Мой код не выглядае добра для мяне?

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

1 адказы

Калі сцяжкоў ў значэнне атрыбуту роўны 1, то гэта павінна быць у парадку:

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

Калі гэтыя значэння не зададзены або ва ўсіх выпадках вы можаце проста праверыць, калі яны існуюць у $ _ GET або $ _ POST масіў (мяркуючы, што $ form_state бярэцца адтуль):

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

У прыведзеным вышэй прыкладзе, павінны працаваць для вас. Майце на кнопках выгляду радыё і сцяжкі не будуць устаноўлены ў $ _ GET або $ _ POST , калі яны не выбраны, на ўсіх, якія таксама могуць генераваць Заўвага або Папярэджаньне , пры спробе доступу да неіснуючага індэксе.

У больш старых версіях PHP вы, магчыма, спатрэбіцца выкарыстаць $ _ REQUEST .

1
дададзена