2012-06-26 151 views
1
array(2) { 
    [0]=> 
    array(4) { 
    ["id"]=> 
    string(1) "1" 
    ["name"]=> 
    string(3) "Lim" 
    ["subproject_id"]=> 
    string(1) "5" 
    ["subproject_name"]=> 
    string(4) "Mads" 
    } 
    [1]=> 
    array(1) { 
    [0]=> 
    array(4) { 
     ["id"]=> 
     string(1) "1" 
     ["name"]=> 
     string(3) "Lim" 
     ["subproject_id"]=> 
     string(1) "4" 
     ["subproject_name"]=> 
     string(5) "KANYE" 
    } 
    } 
} 

如何輸出每個namesubproject_name該陣列的輸出

一個簡單的foreach()只會得到第一個。

+0

似乎不完整的。額外的'foreach'工程,所以我認爲你做錯了。你應該顯示一些代碼。 – KingCrunch

+0

foreach裏面的foreach會幫助 – Yang

+4

在你的數組中,似乎有一個不匹配的地方,第一個條目中有一個id,name等數組,但第二個條目在數組中有另一個數組級別, ,etx –

回答

0

請參閱php文檔,尋找「array_walk」和「array_walk_recursive」。

1

不知道這個數組有多大可能會有所不同,但這裏有一個簡單的解決方案。

foreach($array as $key => $value){ 

    if(!isset($value['id'])) 
     $value = $value[0]; 


    echo $value['name']; 
    echo $value['subproject_name']; 
} 

如果它變得更深,可以使用'while'而不是'if'。

0

隨着array_walk_recursive

function print_info ($item, $key) { 
    if (strcmp ($key, "name") == 0) 
    echo "name = {$item}<br>"; 

    if (strcmp ($key, "subproject_name") == 0) 
    echo "subproject_name = {$item}<br>"; 
} 
array_walk_recursive($array, 'print_info');