将包含具有单个元素的数组的数组转换为单个深度数组

时间:2012-04-20 13:46:40

标签: php arrays

我想知道是否有更好的解决方案:将包含具有单个值的数组的数组转换为深度减少一个的数组。即。

数组的打印方式如下:

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 个答案:

答案 0 :(得分:1)

未经测试,但应该有效:

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