1

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

数组打印如下:

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 回答