映像数组未正确构建



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

如果答案正确:检查.png

如果答案错误:X.png

如果答案还没有回答:破折号.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%">';
                }
            }
        }
    }
}

试试这个,

$_SESSION['imagesArray'][$j]

当脚本开始执行 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'];

最新更新