[英]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.