PHP 测验脚本答案突出显示


PHP quiz script answer highlight

我有一个PHP脚本和MSSQL表,我在存储在$right_answer中的变量中获得了答案键,并且用户以$user_answer_select格式选择了

答案
5+10?
A) 10
B) 15
C) 20
D) 25
E) 50
Answer key: B

我想做的是在 B 旁边打一个复选标记,如果它是正确的,如果它是错误的,我会怎么做 if else 语句?

这是我目前拥有的代码

if(($user_answer_select == $right_answer) && $user_answer_select == 'a') $a_sel = "<img src='"tick_icon.gif'">";
else if(($user_answer_select == $right_answer) && $user_answer_select == 'b') $b_sel = "<img src='"tick_icon.gif'">";
else if(($user_answer_select == $right_answer) && $user_answer_select == 'c') $c_sel = "<img src='"tick_icon.gif'">";
else if(($user_answer_select == $right_answer) && $user_answer_select == 'd') $d_sel = "<img src='"tick_icon.gif'">";
else if(($user_answer_select == $right_answer) && $user_answer_select == 'e') $e_sel = "<img src='"tick_icon.gif'">";

这是错误的,因为一些没有答案的问题被突出显示为真实。有什么方法可以做到这一点?

$answers = array ( "A"=>10, "B"=>15, "C"=>20, "D"=>25, "E"=>50 );
$right_answer = "B";
$user_selected_answer = "A";
echo "5+10?<br/>";
foreach ($answers as $key => $value) {
  echo $key.") ".$value;
  if ($value === $user_selected_answer) {
    if ($value === $right_answer){ echo "check!"; }
    else { echo "X"; }
  }
  echo "<br/>";
}
echo "Answer key: $right_answer";
if ( $user_answer_select == $right_answer ) {
    $correct = true;
} else {
    $correct = false;
}

然后在表格上的正确答案中:

<?php echo $correct == true ? 'x' : ''; ?>