如果不比较两个变量php


if else comparing two variables php

我目前有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)