0

私は現在、2 つの変数を持って$arrAnsいます。これには、ユーザーがチェックボックスに対して選択した別の回答が含まれています。$arrAns の例は 1,2,3 になります。の$arr場合、質問に含まれるすべてのオプションを含むオプション変数です。の例は$arr1,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
} ?>
4

2 に答える 2

1

要素が存在するかどうかを確認する代わりに、それが配列または結果にあるかどうかを確認する必要があると思います。

変化する

  <?php if ($arrAns[$i] == $arr) { 

  <?php if (in_array($arr, $arrAns)) { 
于 2013-06-17T04:31:06.843 に答える
0

以下を効果的に使用できますin_array()

in_array($arr, $arrAns)
于 2013-06-17T04:31:51.530 に答える