0

http://phpfiddle.org/main/code/get-rps

现在上面的小提琴中没有显示它能够插入所有数据。但在应用程序中,它并没有在表格中显示所有不正确的答案。

这个错误是由于数组$ques_ans使用 for() 进行迭代的事实在键中存在间隙。

var_dump($ques_ans)给我们:

array(3) {
  ... skipped for brevity
  [2]=>
  array(2) {
    [0]=>
    string(1) "B"
    [2]=>
    string(1) "D"
  }
  ... skipped for brevity
}

没有带有 key 的元素[1]。这是因为array_intersect我在第 49 行使用的函数保留了键。

为了快速修复代码以使其正常工作,我array_values()在第 51 行添加:

$ques_ans[$questionNo] = array_values($q_incorrect_ans);    //store the array of incorrect ans against the ques no as key

但它仍然缺少键,因此不会显示所有不正确的答案。我在这里做错什么了吗?

最大的问题是,如果一个问题有多个正确答案,那么在不正确答案的数组中,它会为这些问题显示多组答案,并且每次只为每组答案删除一个正确答案。您将在数组中看到此错误答案。

下面是一个屏幕截图,显示了一个丢失的错误答案和一个丢失的密钥,但我该如何解决这个问题?

在此处输入图像描述

4

1 回答 1

4

使用数组值。

foreach($ques_ans as $questionNo => $inc_ans)
{
    $inc_ans = array_values($inc_ans);
}
于 2013-01-15T13:46:38.853 回答