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;
    }
}

含まれている配列の配列項目を単一の配列に結合するためのより良い方法はありますか?

4

1 に答える 1

1

テストされていませんが、動作するはずです:

$items = array(...);
$counts = array_reduce($items,"array_merge",array());
于 2012-04-20T13:49:38.707 に答える