我搜索了,但是其他线程没有回答我的问题,或者我太愚蠢了。
$Questions = array(
1 => array(
'Question' => 'Second question',
'Answers' => array(
'A' => 'First answer of Second question',
'B' => 'Second answer Second question',
'C' => 'Third answer Second question'
),
'CorrectAnswer' => 'C'
)
);
如何回应'CorrectAnswer'的价值?实际上,我的意思是'C'的值(在这种情况下,它将是“第三回答第二个问题”)。 $ Value ['CorrectAnswer']给我“C”。但我不能只回显“C”,因为在每个数组中,正确的答案是不同的。我确信这是非常简单的事情,但它逃脱了我。对不起,如果我没有正确解释。这是另一段代码:
foreach ($Questions as $QuestionNo => $Value)
{
if ($Answers[$QuestionNo] != $Value['CorrectAnswer'])
{
echo 'Your answer: <span style="color: red;">'.$Value['Answers'][$Answers[$QuestionNo]].'</span><br />
Correct answer: <span style="color: green;">'.$Value['CorrectAnswer'].'</span>';
}
}
答案 0 :(得分:1)
$Value['CorrectAnswer']
的值为"C"
,因此您可以这样使用它:
echo $Value['Answers'][$Value['CorrectAnswer']];
答案 1 :(得分:1)
你在寻找像
这样的东西吗?echo 'Correct answer: <span style="color: green;">'.$Value['Answers'][$Value['CorrectAnswer']].'</span>';
答案 2 :(得分:1)
您可以使用CorrectAnswer的值作为Answers的查找键:
echo $Questions[1]['Answers'][$Questions[1]['CorrectAnswer']];
或者在代码示例的上下文中,循环遍历$Questions
数组:
foreach ($Questions as $questionNo => $value) {
$answerGiven = $answers[$questionNo];
$correctAnswer = $value['Answers'][$value['CorrectAnswer']];
if ($answerGiven !== $correctAnswer) {
echo 'Your answer: <span style="color: red;">' . $answerGiven . '</span>';
echo '<br />';
echo 'Correct answer: <span style="color: green;">' . $correctAnswer . '</span>';
}
}
请注意,我已清理代码以使其更具可读性。您可以设置给出的答案并更正变量的答案,然后将其用于决策制定和输出。我还正确地缩进了代码以使其更具可读性。
我会提醒您不要在PHP中使用初始大写字母来进行变量命名(或关联数组键命名),因为这非常非标准。
答案 3 :(得分:1)
你是否要求这样做:
$Value['Answers'][$Value['CorrectAnswer']]
这应该给你: &#39;第三个答案第二个问题&#39;
(好吧,只有在$ Value引用$ Questions数组中的第一个数组的情况下,就是这样。)