2013-01-14 89 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); 
} 
相關問題