2012-04-20 126 views
1

もっと良い解決策があるのだろうかと思っていました。単一の値を持つ配列を含む配列を1つ少ない深さの配列に変換します。私。単一要素の配列を含む変換配列を単一の深さ配列

このような配列を印刷:

Array 
(
[0] => Array 
    (
     [item_1] => 5 
    ) 

[1] => Array 
    (
     [item_2] => 7 
    ) 

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

[3] => Array 
    (
     [item_5] => 1 
    ) 

) 

と同じように印刷するように形質転換し得る必要があります。今、私はこのコードでこれを達成

Array 
(
[item_1] => 5 
[item_2] => 7 
[item_4] => 1 
[item_5] => 1 
) 

$items = array(...) // retrieved from db 
$counts = array(); 
foreach ($items as $item) { 
    foreach ($item as $key => $val) { 
     $counts[$key] = $val; 
    } 
} 

です格納された配列の配列項目を罪に組み合わせるより良い方法がありますグレアレイ?

答えて

1

テストされていないが、動作するはずです:魔法のように

$items = array(...); 
$counts = array_reduce($items,"array_merge",array()); 
+0

作品!そして私は、コールバック関数はちょうど同様に他のPHP関数、つまり自分自身で書かれた関数である必要はないことを覚えておく必要があります!タイ – kontur

関連する問題