0

可能重复:
多维数组上的 PHP Array_Sum

我有一个二维数组,如下所示。

array(
    (int) 0 => array(
        'Chrome' => '10',
        'Firefox' => '3',
        'Internet Explorer' => '1',
        'Safari' => '1',
        'Mobile' => (int) 0,
        'Others' => (int) 0
    ),
    (int) 1 => array(
        'Chrome' => '5',
        'Firefox' => '2',
        'Safari' => '2',
        'Internet Explorer' => '1',
        'Opera' => '1',
        'Mobile' => (int) 0,
        'Others' => (int) 0
    )
)

我想为相同的键添加值并将其放入单个数组中,如下所示。

array(
    'Chrome' => '15',
    'Firefox' => '5',
    'Internet Explorer' => '2',
    'Safari' => '3',
    'Opera' => '1',
    'Mobile' => '0'
    'Others' => '0'
)

请给我解决方案。

4

1 回答 1

3

遍历子数组并接管键值对。如果它们存在,请将值(整数算术和运算)添加到现有值。

当您完成迭代子数组时,结果就准备好了。

$array = array();
foreach ($subArrays as $subArray)
{
    foreach ($subArray as $key => $value)
    {
        isset($array[$key]) || $array[$key] = 0;
        $array[$key] += (int) $value;
    }
}

// ready, but make all strings:
$array = array_map('strval', $array);
于 2012-07-19T06:50:13.350 回答