2014-10-06 57 views
-1

我有這個任意的多維數組。無增量索引運行循環陣列

Array (

[0] => Array 
    (
     [0] => 0 
     [1] => 1 
     [2] => 2 
    ) 

[5] => Array 
    (
     [0] => 0 
     [1] => 1 
     [2] => 2 
    ) 

[10] => Array 
    (
     [0] => 0 
     [1] => 1 
     [2] => 2 
    ) 

[15] => Array 
    (
     [0] => 0 
     [1] => 1 
     [2] => 2 
    ) 

[1] => Array 
    (
     [0] => 2 
     [1] => 1 
     [2] => 2 
    ) 

[2] => Array 
    (
     [0] => 2 
     [1] => 1 
     [2] => 2 
    ) 

) 

我想運行一個for循環來提取每個子數組的數據。 但我不能做一個簡單的循環,因爲索引(0,5,10,15,1)是任意的。 有沒有辦法運行for循環,然後跳過子數組,如果它是空的?

謝謝!

+3

也許是foreach? http://php.net/manual/en/control-structures.foreach.php – Qualcuno 2014-10-06 17:19:53

+0

由於數組索引無序,因此應該使用foreach。 – 2014-10-06 17:21:47

+1

如果你是谷歌「如何循環雖然PHP陣列」你可能已經找到了答案:) – Martijn 2014-10-06 17:28:42

回答

3

這將採取$array並循環它,呼應鍵。
你有一個數組的數組,你可以把一個foreach在foreach:這裏如果你在foreach的foreach

// First we take the main array ($array) and loop though its values 
foreach($array as $main_key =>$sub_array){ 
    echo $main_key.": <br />\n"; // echo the key, some extra html to format 

    // the values of the mainarray are arrays themselves, just loop again: 
    foreach($subarray as $sub_key =>$subvalue){ 
     echo '- '.$subvalue."<br />\n"; 
    } 
} 

有一個有點陷阱:

foreach($array as $key =>$value){ 
    foreach($value as $key=>$value){ /* ... */; } 
} 

這會造成非常奇怪的結果。內部的foreach使用相同的參數名稱,並將一切搞砸了。

+0

謝謝!這就是爲什麼我們的下一個主題是foreach。 – 2014-10-06 17:35:49

+1

基於評論,我假設你正在學習編程。最大的提示,我可以給:**學習谷歌你想要的**。 – Martijn 2014-10-06 17:59:28