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

php中文网
发布: 2016-06-23 14:03:14
原创
929人浏览过

首次发帖,请假高手
我从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,其他类推,求遍历或其他能处理成功的方法,感激不尽~!


回复讨论(解决方案)

最后结果是怎么样的? 贴一下。

结果如下,感谢关注

$a = array(             0 => array(             0=> array(                             "date" => "201201",                "area"=> array(                    12 => array(                        click => "12",                        traffic => "50"                    ) ,					8=> array(                        click => "6",                        traffic => "60"                    )                   )            ),                 1=> array(                             "date" => "201202",                "area"=> array(                    12 => array(                        click => "8",                        traffic => "40"                    ),                    8=> array(                        click => "5",                        traffic => "50"                    )                )            )                         )              );
登录后复制

$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 "<pre class="brush:php;toolbar:false">";print_r($t);echo "<pre class="brush:php;toolbar:false">";
登录后复制


结果如下:
Array(    [0] => Array        (            [0] => Array                (                    [date] => 201201                    [area] => Array                        (                            [12] => Array                                (                                    [click] => 12                                    [traffic] => 50                                )                            [8] => Array                                (                                    [click] => 6                                    [traffic] => 60                                )                        )                )            [1] => Array                (                    [date] => 201202                    [area] => Array                        (                            [12] => Array                                (                                    [click] => 8                                    [traffic] => 40                                )                            [8] => Array                                (                                    [click] => 5                                    [traffic] => 50                                )                        )                )        ))
登录后复制

感谢四楼正解

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号