0

重複の可能性:
多次元配列上のPHPArray_Sum

私は次のように2次元配列を持っています。

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 に答える