2012-04-12 15 views
0

Ich habe mehrere Arrays sagen für jetzt 2, erstes Array hat Städte (Mumbai, Pune. Bangalore, Hyderabad) Und 2. Array hat Mumbia nad Hyderabd.Summe multidimensionales Array basierend auf einem Schlüssel in PHP

Ich möchte die Werte basierend auf dem Schlüssel zusammenfassen.

Array ( [Mumbai] => Array ( [ga: Seitenaufrufe] => 1 [ga: Besuche] => 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 
    ) 

)

2. Array:

Array ( [Mumbai] => Array ( [ga: Seitenaufrufe] => 5 [ga: Besuche] => 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 
    ) 

)

Ich möchte das Ergebnis als:

Array ( [Mumbai] => Array ( [ga: Seitenaufrufe] => 6 [ga: Besuche] => 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 
    ) 

)

Vielen Dank für Ihre Hilfe .... Ruth.

Antwort

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

Das sollte es für Sie tun :)

+1

Ich bin sicher, dass Sie meinen '+ =' um die Werte zu summieren anstatt sie zu verketten. – Alasjo

0

Versuchen Sie, diese

$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 
+0

Vielen Dank .. es hat funktioniert ... :) – user1328178

+0

Gern geschehen. :) –

0

uns das alles in einem Array Eltern namens können sagen

$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; 
      } 
    } 
} 
Verwandte Themen