所以我遇到了這個問題:我做了一個在線測驗,答案被推入一個名為答案的數組中。它工作正常,但是當我嘗試重新顯示正確的答案以及用戶提交的答案時,我得到了 foreach() 提供的無效參數有一個 while 循環從數據庫和問題中獲取正確答案。我需要顯示例如以下內容:問題 1: -------- 正確答案:A.XXX 您的答案:$answer[0]問題 2: -------- 正確答案:C.XXX 您的答案:$answer[1]<?php $con=mysqli_connect("localhost","xxx","xxx"); if(!$con) { die('Could Not Connect: '.mysqli_error($con)); } mysqli_select_db($con,"rankone"); $res=mysqli_query($con,"SELECT * FROM rankone_quizzes WHERE (Bundle='Free-Exam-A') ORDER BY ID ASC"); echo '<ol>'; while($row=mysqli_fetch_array($res)) { foreach ($answer as $answer) { echo'<li> <h3> '.($row["Question"]).'</h3>'; if (($row["CorrectAnswer"]) == "A"){ echo'<p>A. '.($row["Option1"]).'</p>'; echo'<p>You Answer: $answer</p>'; }elseif(($row["CorrectAnswer"]) == "B") { echo'<p>B. '.($row["Option2"]).'</p>'; echo'<p>You Answer: $answer</p>'; }elseif(($row["CorrectAnswer"]) == "C") { echo'<p>C. '.($row["Option3"]).'</p>'; echo'<p>You Answer: $answer</p>'; } echo'</li>'; echo'<br><br>'; } echo'</ol>'; ?>
1 回答

GCT1015
TA貢獻1827條經驗 獲得超4個贊
這里的問題是 foreach ($answer as $answer) {
通過提供loop value與數組相同的名稱,$answer您可以answer使用第一個元素值覆蓋該數組。
嘗試為包含答案的數組指定一個不同的名稱作為迭代值。例如:
// defining your answers
$answers = [...];
foreach ($answers as $answer) {
- 1 回答
- 0 關注
- 175 瀏覽
添加回答
舉報
0/150
提交
取消