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