-4

我将表单数据发送到 php 页面,例如: question1 question2 。. . 和更多。

我想总结这些变体,但我不知道。我使用此代码但不起作用:

$total=0;
for ($i=1; $i<=$countc; $i++) {
    $sag = "question" . $i;
    $_POST[$sag];
    $total = $total+$_POST[$sag];
    echo $total;   // I wanna show sum of all form vars.
}

我的表格:

  echo "
      <form method='post' action='result.php?result=$name' />
      <input name='$name' style='visibility:hidden' /><br />
";
  for ($i=0;$i<$countq;$i++){
  echo "${'countquestion'.$i}<br />";

  for ($j=0;$j<$countc;$j++){
echo "${'countchoice'.$j.'countquestion'.$i}
<input type='radio' value='${'countchoicepoint'.$j.'countquestion'.$i}'    name='question$i' /><br />
";
                          }
                      }
      echo "
       <input type='submit' value='sabt' />
        ";
4

1 回答 1

1

您可以使用 array_sum 添加数值数组。

http://php.net/manual/en/function.array-sum.php

至于您的代码,最好使用 foreach 循环

$total = 0;
foreach ($_POST["answers"] as $question=>$answer) $total+=$answer;

假设您对 $_POST["answers"] 变量中的所有答案都感到不满;如果您只在 $_POST 中存储答案,您可以使用:

$total = 0;
foreach ($_POST["answers"] as $answer) $total+=$answer;

但这可以使用 array_sum 轻松完成(对于关联数组和非关联数组。

要将其连接成一个字符串,您可以使用 implode: http: //php.net/manual/en/function.implode.php

于 2013-08-19T10:02:30.980 回答