我目前有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
} ?>
不是查看元素是否存在,而是查看它是否在数组或结果中。
改变 <?php if ($arrAns[$i] == $arr) {
<?php if (in_array($arr, $arrAns)) {
您可以有效地利用in_array()
:
in_array($arr, $arrAns)