PHP:For-Loop错误

时间:2018-04-03 13:31:46

标签: php for-loop

我的for-loop出了问题:

当我回答问题$question[0]时,它回显$question[1]并回显$question[0]

问题在于,当我回答$question[1]时,它回显$question[0]而不是$question[2],并在$question[0]$question[1]之间的循环中继续

也许数组出了问题..?

<?php
$question = array(
  0 => "<form action=\"\" method=\"get\"> Q1<br>
    <input type=\"radio\" name=\"q0\" value=\"tr\"> A <br>
    <input type=\"radio\" name=\"q0\" value=\"ok\"> B <br>
    <input type=\"radio\" name=\"q0\" value=\"fa\"> C &nbsp;&nbsp;&nbsp;&nbsp;
    <input type=\"submit\" value=\"대답하기 Answer\"> 
    </form>",
  /* 1~4 is same thing with different name (ex. q1, q2..) */

$a = array( @$_GET['q0'], @$_GET['q1'], @$_GET['q2'], @$_GET['q3'], @$_GET['q4']);

$point = array(0,0,0,0,0);  

for ($i = 0; $i < 5; $i++) {
    ob_start();
    echo $question[$i];

    if (isset($a[$i]) == true) {
      if ($a[$i] == "tr") {
        $point[$i] = 20;
        ob_end_clean();
      }
      elseif ($a[$i] == "ok") {
        $point[$i] = 10;
        ob_end_clean();
      }
      else {
        $point[$i] = 0;
        ob_end_clean();
      }
    } else {
        break;
    }
}
?>

1 个答案:

答案 0 :(得分:0)

您的数组$ question在0索引处只有一个元素。尝试使用表单名称并使用表单名称从$_Get获取参数。在转储结果后,您应该得到您所需要的。

e.g。用POST

<form action="" method="POST" name="myForm">
  <input type="radio" name="myform[gender]" value="true"> A<br>
  <input type="radio" name="myform[gender]" value="false"> B<br>
  <input type="radio" name="myform[gender]" value="other"> C
  <input type="submit">
</form>

并在PHP中: $_POST["myForm"]应该是已发布的表单。

if (isset($_POST['myform'])) {
    $values = $_POST['myform'];
}