我目前拥有2个变量,对于$arrAns
,它包含用户为复选框选择的不同答案。 $ arrAns的示例为1,2,3。对于$arr
,它是包含问题所有选项的选项变量。 $arr
的示例为1,2,3,4,5,6。
这是我试图比较的代码,如果$ 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
} ?>
答案 0 :(得分:1)
而不是查看元素是否存在我想要检查它是否在数组或结果中。
更改
<?php if ($arrAns[$i] == $arr) {
到
<?php if (in_array($arr, $arrAns)) {
答案 1 :(得分:0)
您可以有效地使用in_array()
:
in_array($arr, $arrAns)