您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

多维数组中相同元素相加有关问题

2024/5/2 6:32:34发布20次查看
多维数组中相同元素相加问题
本帖最后由 myths621 于 2013-03-19 12:04:11 编辑 首次发帖,请假高手
我从redis中取出五维数组需要处理相加,如下
$a = array(
0 => array(
0=> array(
date => 201201,
area=> array(
12 => array(
click => 3,
traffic => 30
)
)
),
1=> array(
date => 201202,
area=> array(
12 => array(
click => 8,
traffic => 40
),
8=> array(
click => 5,
traffic => 50
)
)
)
),
1 => array(
0=> array(
date => 201201,
area=> array(
12 => array(
click => 9,
traffic => 20
),
8=> array(
click => 6,
traffic => 60
)
)
),
1=> array(
date => 201202,
area => null
)
),
);

希望数据处理后,相同date前提下,area里相同的key所对应的click和traffic值相加,即0和1这两个大数组,date为201001的,area中12所对应的click和traffic处理后应该是12和50,8对应的是6和60,其他类推,求遍历或其他能处理成功的方法,感激不尽~! 多维数组
------解决方案--------------------
最后结果是怎么样的? 贴一下。
------解决方案--------------------
$t = array();
foreach ($a as $k=>$v)
{
foreach ($v as $k1=>$v1)
{
$t[0][$k1]['date'] = $v1['date'];
foreach ($v1['area'] as $k2=>$v2)
{
$t[0][$k1]['area'][$k2]['click'] += $v2['click'];
$t[0][$k1]['area'][$k2]['traffic'] += $v2['traffic'];
}
}
}
echo ;
print_r($t);
echo ;
结果如下:
array
(
    [0] => array
        (
            [0] => array
                (
                    [date] => 201201
                    [area] => array
                        (
                            [12] => array
                                (
                                    [click] => 12

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product