2012-07-13 48 views
0

我不明白爲什麼我的陣列中的循環被削減?不能得到最後一個數組值

Array 
(
    [0] => Array 
     (
      [name] => order 
      [value] => asd 
     ) 

    [1] => Array 
     (
      [name] => item 
      [value] => aa 
     ) 

    [2] => Array 
     (
      [name] => quant 
      [value] => 5 
     ) 

    [3] => Array 
     (
      [name] => price 
      [value] => 20 
     ) 

) 

我的PHP代碼的for循環:

for($i = 0; $i < count($json_array); $i++) 
{ 
    echo $json_array[$i]['name']; 
} 

我得到的結果是:orderitemquant但爲什麼最後的值price沒有了嗎?這段代碼有什麼問題?

+2

沒有錯誤,在PHP錯誤日誌警告? – Draiken 2012-07-13 12:06:19

+1

你的數組的數量是多少? – 2012-07-13 12:06:49

+2

你確定$ json_array是你認爲的嗎?嘗試打印出數組值首先要確保''的print_r($ json_array);'' – JConstantine 2012-07-13 12:07:09

回答

2

您是否嘗試過使用foreach?在我看來,它適合迭代你的數組。

foreach($json_array as $sub_array) { 
    echo $sub_array['name']; 
} 
-1

一個錯誤試試這個,關:

for($i = 0; $i =< count($json_array); $i++) 
{ 
    echo $json_array[$i]['name']; 
} 
+0

同樣建議的另一個答案得到了太多的否定票並被刪除。像寫作問題的作者一樣寫作沒有錯誤。這實際上取決於情況,並且沒有理由在我們從**零**到**三**的數量上加上'='符號進行比較。你的代碼從**零**計數到**四**,這肯定是不正確的,並且會導致錯誤,因爲$ json_array [5] ['name']'不存在。你的答案只有在你想從**一個**數到時纔是正確的。 – 2012-07-13 14:39:49

+0

好的,對不起,你是對的。我會讓它在這裏存在,所以這不會被重複! – 2012-07-13 14:41:47