2013-03-31 229 views
2

數組我有以下陣列:創建多維數組

array (size=2) 
    0 => 
    array (size=4) 
     0 => string 'http://localhost/wp/wp-content/uploads/2013/03/slider-area.jpg' (length=62) 
     1 => int 1584 
     2 => int 346 
     3 => boolean false 
    1 => 
    array (size=4) 
     0 => string 'http://localhost/wp/wp-content/uploads/2013/03/featured.jpg' (length=59) 
     1 => int 1584 
     2 => int 346 
     3 => boolean false 

我的問題是,我怎麼能遍歷這個數組生成一個只包含兩個值如下一個新的數組:

$result_array = array(0 => "http://localhost/wp/wp-content/uploads/2013/03/slider-area.jpg", 
         1 => "http://localhost/wp/wp-content/uploads/2013/03/featured.jpg"); 

我已經嘗試了一個foreach循環,但無法獲得所需的結果數組。我試過以下循環:

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

foreach ($value as $item){ 

$result_array[] = $item; 

} 

任何幫助將不勝感激。

回答

1

你接近:

$result_array = array(); //Initialization is important. 

foreach ($array as $value) { 
    $result_array[] = $value[0]; // $value[0] is the first element in the inner array. 
} 
+0

非常感謝老兄! – Mark

1

它應該是如此簡單:

$finalArray = array();  
foreach($array as $arrayitem){ 
    $finalArray[] = $arrayItem[0]; 
} 
1

爲了用foreach做到這一點:

foreach($array as $key => $value) { 
    $result_array[$key] = $value[0]; 
} 

(不使用foreach裏面的一個foreach,除非你想遍歷2維!)

+0

看看使用'[]'的其他答案,它們不會總是以相同的順序給你值。此方法使用新數組中的舊密鑰,因此它們保證匹配。 – Dave

0

我只是把這個漂亮的小的一行在這裏的樂趣吧:)

$newArray = array_map(function($a){ return $a[0]; }, $myArray); 

run code