Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP测验(获取用户答案和比较数组)_Php_Arrays - Fatal编程技术网

PHP测验(获取用户答案和比较数组)

PHP测验(获取用户答案和比较数组),php,arrays,Php,Arrays,我对php有点陌生,我需要创建一个测验网站。我已经搜索了很多,但我找不到确切的代码,我需要 在第一页上,用户将看到问题和答案,他可以通过单击单选按钮选择答案。提交后,我想在下一页比较2组答案(用户答案和正确答案) 正确答案数组可能如下所示: $res1=数组(b,a,b,c,b,d,a,b,c,b); 我相信我应该用“for”或“for each”,但我不知道怎么写 下一步将增加测验分数,以防比较值相等(用户选择:b和正确答案:b)这里有一个简单的解决方案: 首先,创建如下表单: <for

我对php有点陌生,我需要创建一个测验网站。我已经搜索了很多,但我找不到确切的代码,我需要

在第一页上,用户将看到问题和答案,他可以通过单击单选按钮选择答案。提交后,我想在下一页比较2组答案(用户答案和正确答案)

正确答案数组可能如下所示: $res1=数组(b,a,b,c,b,d,a,b,c,b); 我相信我应该用“for”或“for each”,但我不知道怎么写


下一步将增加测验分数,以防比较值相等(用户选择:b和正确答案:b)

这里有一个简单的解决方案:

首先,创建如下表单:

<form>
<input type="radio" name="question_1" value="a" />
<input type="radio" name="question_1" value="b" />
<input type="radio" name="question_1" value="c" />

<input type="radio" name="question_2" value="a" />
<input type="radio" name="question_2" value="b" />
<input type="radio" name="question_2" value="c" />
...
</form>
$answers = array('a', 'b', 'c', 'a', ...);
$points  = 0;

for($i=0; $i < count($answers); $i++) {
    if (isset($_REQUEST['question_'.($i+1)]) && $_REQUEST['question_'.($i+1)] == $answers[$i]) 
        $points++;
}

echo $points;

...
在php中,执行以下操作:

<form>
<input type="radio" name="question_1" value="a" />
<input type="radio" name="question_1" value="b" />
<input type="radio" name="question_1" value="c" />

<input type="radio" name="question_2" value="a" />
<input type="radio" name="question_2" value="b" />
<input type="radio" name="question_2" value="c" />
...
</form>
$answers = array('a', 'b', 'c', 'a', ...);
$points  = 0;

for($i=0; $i < count($answers); $i++) {
    if (isset($_REQUEST['question_'.($i+1)]) && $_REQUEST['question_'.($i+1)] == $answers[$i]) 
        $points++;
}

echo $points;
$answers=array('a','b','c','a',…);
$points=0;
对于($i=0;$i
我们不会为您编写代码。您可能希望先从PHP教程开始学习基础知识(
for
while
if
)。如果你有这个基本的理解和具体的问题,回来问吧!很好的示例,但我建议同步数组和问题编号。否则你可能会有问题$answers=array(1=>'a',..)就可以了。Sascha,如果你从问题0开始,那么你的显示将与人类可读的数字不同步,当然,除非你的网站与编程相关,而你从问题0开始:)谢谢!这对我很有用:$answers=array(0=>A',1=>B',2=>C');对于($i=0;$i