2013-01-14 139 views
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 
} 

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

要快速修复代码只是为了让我不加array_values()工作失误第51行:

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

但它仍然有丢失的钥匙,因此未显示所有不正确的答案。我还有什么错在这里?

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

下面是一个屏幕截图,显示缺少不正确的答案和缺少的键,但我该如何解决这个问题?

enter image description here

+0

不使用(),然后,使用的foreach() – 2013-01-14 21:29:54

+0

@Dagon for循环中的代码只循环,我似乎无法弄清楚如何写ASA的foreach(),你知道它应该作为一个为每个,因为我很难过 – user1964964

回答

4

使用array_values。

foreach($ques_ans as $questionNo => $inc_ans) 
{ 
    $inc_ans = array_values($inc_ans); 
} 
相关问题