数组的回声值

时间:2015-01-30 15:15:12

标签: php arrays

我搜索了,但是其他线程没有回答我的问题,或者我太愚蠢了。

$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>';                        
    } 
}

4 个答案:

答案 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数组中的第一个数组的情况下,就是这样。)