基于 php 中的键对多维数组求和


Sum multi dimensional array based on a key in php

我有多个数组说现在 2,第一个数组有城市(孟买、浦那。班加罗尔,海得拉巴)第二个阵列有海得拉布河畔孟比亚。

我想根据键总结值。

数组( [孟买] => 数组 ( [GA:浏览量] => 1 [GA:访问量] => 1 [GA:新访问] => 1 [ga:页面浏览量每次访问] => 1 [ga:入口跳出率] => 1 [ga:avgTimeOnSite] => 1 [ga:timeOnSite] => 1 [GA:反弹] => 1 )

[Pune] => Array
    (
        [ga:pageviews] => 2
        [ga:visits] => 2
        [ga:newVisits] => 2
        [ga:pageviewsPerVisit] => 2
        [ga:entranceBounceRate] => 2
        [ga:avgTimeOnSite] => 2
        [ga:timeOnSite] => 2
        [ga:bounces] => 2
    )
[Bangalore] => Array
    (
        [ga:pageviews] => 3
        [ga:visits] => 3
        [ga:newVisits] => 3
        [ga:pageviewsPerVisit] => 3
        [ga:entranceBounceRate] => 3
        [ga:avgTimeOnSite] => 3
        [ga:timeOnSite] => 3
        [ga:bounces] => 3
    )
[Hyderabad] => Array
    (
        [ga:pageviews] => 4
        [ga:visits] => 4
        [ga:newVisits] => 4
        [ga:pageviewsPerVisit] => 4
        [ga:entranceBounceRate] => 4
        [ga:avgTimeOnSite] => 4
        [ga:timeOnSite] => 4
        [ga:bounces] => 4
    )

第二阵列:

数组( [孟买] => 数组 ( [GA:浏览量] => 5 [GA:访问量] => 5 [GA:新访问] => 5 [ga:每次访问的浏览量] => 5 [GA:入口跳出率] => 5 [ga:avgTimeOnSite] => 5 [ga:timeOnSite] => 5 [GA:反弹] => 5 )

[Hyderabad] => Array
    (
        [ga:pageviews] => 2
        [ga:visits] => 2
        [ga:newVisits] => 2
        [ga:pageviewsPerVisit] => 2
        [ga:entranceBounceRate] => 2
        [ga:avgTimeOnSite] => 2
        [ga:timeOnSite] => 2
        [ga:bounces] => 2
    )

我希望结果为:

数组( [孟买] => 数组 ( [GA:浏览量] => 6 [GA:访问量] => 6 [GA:新访问] => 6 [ga:每次访问的浏览量] => 6 [GA:入口跳出率] => 6 [ga:avgTimeOnSite] => 6 [ga:timeOnSite] => 6 [GA:反弹] => 6 )

[Pune] => Array
    (
        [ga:pageviews] => 2
        [ga:visits] => 2
        [ga:newVisits] => 2
        [ga:pageviewsPerVisit] => 2
        [ga:entranceBounceRate] => 2
        [ga:avgTimeOnSite] => 2
        [ga:timeOnSite] => 2
        [ga:bounces] => 2
    )
[Bangalore] => Array
    (
        [ga:pageviews] => 3
        [ga:visits] => 3
        [ga:newVisits] => 3
        [ga:pageviewsPerVisit] => 3
        [ga:entranceBounceRate] => 3
        [ga:avgTimeOnSite] => 3
        [ga:timeOnSite] => 3
        [ga:bounces] => 3
    )
[Hyderabad] => Array
    (
        [ga:pageviews] => 6
        [ga:visits] => 6
        [ga:newVisits] => 6
        [ga:pageviewsPerVisit] => 6
        [ga:entranceBounceRate] => 6
        [ga:avgTimeOnSite] => 6
        [ga:timeOnSite] => 6
        [ga:bounces] => 6
    )

感谢您的帮助。露丝。

foreach($arr2["Hyderabad"] as $key => $val)
{
    $arr1["Hyderabad"][$key] += $val;
}

这应该为你做:)

试试这个

$newarray = $array1;
foreach ($array2 as $key => $values) {
    foreach ($values as $name => $value) {
        if (!is_array($newarray[$key])) { $newarray[$key] = array(); }
        $newarray[$key][$name] += $value;
    }
}
// $newarray should now be the array you want with values added

让我们在一个名为 parent 的数组中说出所有这些

$parent has keys as 0,1

foreach($parent as $k=>$v)    
{
     foreach($v as $ik=>$iv)
     {
          foreach($iv as $fk=>$fv)
          {
              $cities[$ik][$fk] = $cities[$ik[$fk]+$fv;
          }
     }
 }