2012-02-06 13 views
0

私は配列の配列を持っています。例えばこれよりもPHP配列を平坦化またはマージする方が簡単ですか?

$array[] = array("1", "2", "3"); 
$array[] = array("5", "9", "ok"); 
$array[] = array("test", "ok", 8"); 

ただ一つの配列にこれをマージ/平坦化の最も簡単な方法は何ですか?

結果は次のようになります。

$array = array("1", "2", "3", "5", "9", "ok", "test", "ok", "8"); 

下記行うよりも、この結果を得るために簡単に/簡単な方法はありますか?

$result = array(); 
foreach ($array as $subarray) { 
    foreach ($subarray as $value) { 
    array_push($result, $value); 
    } 
} 
+0

こちらをご覧http://in3.php.net/manual/en/function.array-merge.php – Bajrang

答えて

5

、あなたは、このためにarray_mergeを使用することができます。

call_user_func_array('array_merge', $array); 
+0

賢いトリック! +1 –

+0

いいね!偉大な知っている –

4

array_mergeが請求書に適合します。

$result = array_merge($array[1], $array[2], $array[3], ..., $array[N]); 

それとも、反復を主張する場合:示唆したように

$result = array(); 
foreach ($array as $nested) { 
    $result = array_merge($result, $nested); 
} 
+0

+:あなたはこのようなものを使用することができ、あなたの$arrayにどのように多くの値がわからない場合1ジューシーズは短くてもよいが、これも決して間違っていないので、それをダウンボケする必要はない。 – Yoshi

+0

@ Yoshi、これが正しいと確信して、これは最初の答えです。私はおそらくこれに加えているだろう;) –

+1

@JuicyScripterあなたは私があなたがダウン者になることを意味するとは思わないと思っています。私はupvotingの理由を述べたいと思った。それは時々、このような答えが明白な理由がないために下落しているのを見て少し不満を募らせます。 – Yoshi

関連する問題