php实现简单的答题系统
时间: 2023-12-23 10:04:49 浏览: 27
实现一个简单的答题系统,可以考虑以下步骤:
1. 创建一个题库,包括题目、选项和答案,可以使用数组或者数据库存储。
2. 创建一个页面,展示题目和选项,并提供提交按钮。
3. 当用户提交答案时,检查答案是否正确,并给出相应的提示。
4. 展示用户做过的题目和得分情况。
下面是一个简单的 PHP 答题系统实现示例:
1. 题库存储
```php
// 题库数组
$question_bank = array(
array(
'question' => 'PHP 是一种什么类型的脚本语言?',
'options' => array(
'A. 解释型', 'B. 编译型', 'C. 混合型', 'D. 以上都不是'
),
'answer' => 'A'
),
array(
'question' => '下面哪个 PHP 函数可以输出字符串?',
'options' => array(
'A. echo()', 'B. print()', 'C. printf()', 'D. 以上都可以'
),
'answer' => 'D'
),
array(
'question' => 'PHP 中,如何定义一个数组?',
'options' => array(
'A. $array = array()', 'B. $array = []', 'C. $array = array[]', 'D. $array = {}'
),
'answer' => 'A'
)
);
```
2. 展示题目和选项
```php
// 遍历题库数组,展示题目和选项
foreach ($question_bank as $key => $question) {
echo '<p>' . ($key + 1) . '. ' . $question['question'] . '</p>';
echo '<ul>';
foreach ($question['options'] as $option) {
echo '<li><input type="radio" name="answer' . $key . '" value="' . substr($option, 0, 1) . '">' . $option . '</li>';
}
echo '</ul>';
}
echo '<button type="submit">提交答案</button>';
```
3. 检查答案和展示得分
```php
$score = 0;
foreach ($question_bank as $key => $question) {
$user_answer = $_POST['answer' . $key];
if ($user_answer == $question['answer']) {
$score++;
echo '<p>' . ($key + 1) . '. ' . $question['question'] . ',您的答案是:' . $user_answer . ',回答正确!</p>';
} else {
echo '<p>' . ($key + 1) . '. ' . $question['question'] . ',您的答案是:' . $user_answer . ',回答错误!</p>';
}
}
echo '<p>您的得分是:' . $score . '分</p>';
```
完整代码示例:
```php
<?php
$question_bank = array(
array(
'question' => 'PHP 是一种什么类型的脚本语言?',
'options' => array(
'A. 解释型', 'B. 编译型', 'C. 混合型', 'D. 以上都不是'
),
'answer' => 'A'
),
array(
'question' => '下面哪个 PHP 函数可以输出字符串?',
'options' => array(
'A. echo()', 'B. print()', 'C. printf()', 'D. 以上都可以'
),
'answer' => 'D'
),
array(
'question' => 'PHP 中,如何定义一个数组?',
'options' => array(
'A. $array = array()', 'B. $array = []', 'C. $array = array[]', 'D. $array = {}'
),
'answer' => 'A'
)
);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 检查答案并展示得分
$score = 0;
foreach ($question_bank as $key => $question) {
$user_answer = $_POST['answer' . $key];
if ($user_answer == $question['answer']) {
$score++;
echo '<p>' . ($key + 1) . '. ' . $question['question'] . ',您的答案是:' . $user_answer . ',回答正确!</p>';
} else {
echo '<p>' . ($key + 1) . '. ' . $question['question'] . ',您的答案是:' . $user_answer . ',回答错误!</p>';
}
}
echo '<p>您的得分是:' . $score . '分</p>';
} else {
// 展示题目和选项
echo '<form method="post">';
foreach ($question_bank as $key => $question) {
echo '<p>' . ($key + 1) . '. ' . $question['question'] . '</p>';
echo '<ul>';
foreach ($question['options'] as $option) {
echo '<li><input type="radio" name="answer' . $key . '" value="' . substr($option, 0, 1) . '">' . $option . '</li>';
}
echo '</ul>';
}
echo '<button type="submit">提交答案</button>';
echo '</form>';
}
?>
```