簡體   English   中英

基於php中的鍵求和多維數組

[英]Sum multi dimensional array based on a key in php

我有多個數組,現在說2個,第一個數組有Cities(孟買,浦那,班加羅爾,海得拉巴),第二個數組有Mumbia nad Hyderabd。

我想總結基於密鑰的值。

Array([Mumbai] => Array([ga:pageviews] => 1 [ga:visits] => 1 [ga:newVisits] => 1 [ga:pageviewsPerVisit] => 1 [ga:entranceBounceRate] => 1 [ ga:avgTimeOnSite] => 1 [ga:timeOnSite] => 1 [ga:bounces] => 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
    )

第二個數組:

Array([Mumbai] => Array([ga:pageviews] => 5 [ga:visits] => 5 [ga:newVisits] => 5 [ga:pageviewsPerVisit] => 5 [ga:entranceBounceRate] => 5 [ ga:avgTimeOnSite] => 5 [ga:timeOnSite] => 5 [ga:bounces] => 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
    )

我想要的結果是:

Array([Mumbai] => 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)

[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;
          }
     }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM