2012-04-09 38 views
0

假設我有兩個數組類似如下的兩個或更多陣列:加入陣列

$arr2 = array(array("first", "second"), array("third", "fourth")); 
$arr3 = array(array("fifth", "sixth", "seventh"), array("eighth", "ninth"), array("tenth", "eleventh")); 

而且我想這樣的結果:

$arr4 = array("first", "second", "third", "fourth", "fifth", "sixth", "seventh","eighth", "ninth","tenth", "eleventh"); 

如何做到這一點? in PHP

+1

[資料。閱讀。愛它。使用它。](http://php.net/manual/en/function.array-push.php) – 2012-04-09 13:56:39

+1

[http://stackoverflow.com/questions/2184997/combine-two-or-more-multi-dimensional -arrays-in-php](http://stackoverflow.com/questions/2184997/combine-two-or-more-multi-dimensional-arrays-in-php) – faino 2012-04-09 13:56:53

+2

@JackManey你的鏈接不是他要找的。 – Jordan 2012-04-09 13:58:41

回答

2

你想扁平化和組合數組。有一個很好的功能,用於在array_values的PHP手冊評論壓扁,http://www.php.net/manual/en/function.array-values.php#104184

下面的代碼:

/** 
* Flattens an array, or returns FALSE on fail. 
*/ 
function array_flatten($array) { 
    if (!is_array($array)) { 
    return FALSE; 
    } 
    $result = array(); 
    foreach ($array as $key => $value) { 
    if (is_array($value)) { 
     $result = array_merge($result, array_flatten($value)); 
    } 
    else { 
     $result[$key] = $value; 
    } 
    } 
    return $result; 
} 

array($arr2, $arr3)只要運行這個。

0
function flatten($ar,&$res) { 
    if (is_array($ar)) 
    foreach ($ar as $e) flatten($e,$res); 
    else 
    $res[]=$ar; 
} 

$arr2 = array(array("first", "second"), array("third", "fourth")); 
$arr3 = array(array("fifth", "sixth", "seventh"), array("eighth", "ninth"), array("tenth", "eleventh")); 

$arr4=array(); 
flatten($arr2,$arr4); 
flatten($arr3,$arr4);