我想知道是否有人可以通过jFormer进行多项选择测验来帮助我。
基本上我是PHP新手,我遇到以下问题:
< input id="statement1-choice3" type="radio" value="C" name="statement1" / >
)我如何计算结果,以便那些选择了大部分A答案的人与选择大部分B的人展示不同的div答案?提前致谢,
艾拉
答案 0 :(得分:2)
要计算结果,您可能会在列表(数组)中包含所有答案。
在你的情况下,我认为数组变量是$_POST
......
所以当你有一个包含答案的数组时:
$data = array(
'question1' => 'a',
'question2' => 'b',
'question3' => 'a',
'question4' => 'c',
'question5' => 'a',
'question6' => 'e',
'question7' => 'c',
'question8' => 'd',
'question9' => 'a',
'question10' => 'a',
'question11' => 'b'
);
您可以浏览数组的每个答案,看看给出了哪个答案。 然后计算每个答案,看看哪个答案最多。
$a = 0;
$b = 0;
$c = 0;
$d = 0;
$e = 0;
foreach($data as $question => $answer) {
if($answer == 'a') {
$a++;
} else if($answer == 'b') {
$b++;
} else if($answer == 'c') {
$c++;
} else if($answer == 'd') {
$d++;
} else if($answer == 'e') {
$e++;
}
}
if($a > $b && $a > $c && $a > $d && $a > e) {
echo '<div>Most of your answers where A</div>';
} else if($b > $c && $b > $d && $b > $e) {
echo '<div>Most of your answers where B</div>';
} else if($c > $d && $c > $e) {
echo '<div>Most of your answers where C</div>';
} else if($d > $e) {
echo '<div>Most of your answers where D</div>';
} else {
echo '<div>Most of your answers where E</div>';
}
由于您仍然从PHP开始,我将使代码尽可能清晰。 有很多(更难以理解的)方法。