未正确构建的图像数组

时间:2014-01-04 12:50:09

标签: php arrays

我正在编写测试,我希望结果显示在每个问题之后,我希望它显示为图像,图像数组应包含已回答问题的所有结果。

如果答案是正确的:check.png

如果答案错误:x.png

如果答案尚未回答:dash.png

这段代码的问题在于,首先它显示了预期的内容然后它删除了一个图像我认为原因是它没有存储已回答问题的结果。

for ($i = 0; $i < $numOfQ; $i++) {
    $_SESSION['imagesArray'] = $imagesArray[$i] = '<img src="css/images/dash.png" style="width:5%; height:5%">';
}

if ($_SESSION['Answers'] < $numOfQ) {

    if ($result != $stdAnswer OR $stdAnswer == "") {
        for ($i = 0; $i < $numOfQ; $i++) {
            if ($i == $Answers) {
                $_SESSION['imagesArray'] = $imagesArray[$Answers] = '<img src="css/images/x.png" style="width:5%; height:5%">';

                for ($j = $Answers + 1; $j < $numOfQ; $j++) {
                    $_SESSION['imagesArray'] = $imagesArray[$j] = '<img src="css/images/dash.png" style="width:5%; height:5%">';
                }
            }
        }
    } else if ($result == $stdAnswer) {
        for ($i = 0; $i < $numOfQ; $i++) {
            if ($i == $Answers) {
                $_SESSION['imagesArray'] = $imagesArray[$Answers] = '<img src="css/images/check.png" style="width:5%; height:5%">';
                for ($j = $Answers + 1; $j < $numOfQ; $j++) {
                    $_SESSION['imagesArray'] = $imagesArray[$j] = '<img src="css/images/dash.png" style="width:5%; height:5%">';
                }
            }
        }
    }
}

2 个答案:

答案 0 :(得分:0)

试试这个,

$_SESSION['imagesArray'][$j]

答案 1 :(得分:0)

当脚本开始执行for循环时,您将覆盖会话。改变这个

for($i=0; $i <$numOfQ; $i++)
{
    $_SESSION['imagesArray']=$imagesArray[$i]='<img src="css/images/dash.png" style="width:5%; height:5%">';
}

for($i=0; $i <$numOfQ; $i++)
{
    if (!isset($_SESSION['imagesArray'][$i]) && empty($_SESSION['imagesArray'][$i]))
    {
        $_SESSION['imagesArray'][$i]='<img src="css/images/dash.png" style="width:5%; height:5%">';
    }    
}
$imagesArray = $_SESSION['imagesArray'];