У меня есть 2 переменные, для $arrAns
он содержит другой ответ, который пользователь выбирает для этого флажка. Пример для $ arrAns будет 1,2,3. И для $arr
, это переменная option, которая содержит все варианты, которые задает вопрос. Пример $arr
будет 1,2,3,4,5,6.if else Сравнение двух переменных php
Вот код, по которому я пытаюсь сравнить, если $ arrAns == $ arr, то флажок будет «проверен». иначе, это будет пустой пробел.
Но когда я попытался использовать коды, выбор пользователя - 1,2,3. Оно работает. Но если пользователь выбирает 2,3,4, то никакие опции не будут «проверены». И если пользователь выбирает 1,3,4, только опция 1 будет «проверена».
Есть ли что-то не так с логикой в промежутке между? При необходимости помощи, спасибо!
<?php if ($arrAns[$i] == $arr) {
?>
<input type="checkbox" name="<?php echo 'qns' . $qID; ?>[]" value="<?php echo $arr; ?>" class="required" checked/> <?php echo $arr; ?><br/>
<?php } else { ?>
<input type="checkbox" name="<?php echo 'qns' . $qID; ?>[]" value="<?php echo $arr; ?>" class="required"/> <?php echo $arr; ?><br/>
<?php
} ?>
Unchecked флажки не передавать данные через форму. Их просто игнорируют. Если флажок установлен, то он пройдет 1, иначе значение не будет определено. Вы можете проверить, определена ли переменная для каждой опции (если (isset (...))), и, если она существует, выполните сравнение. Или используйте in_array(), как указано ниже. –