Heim > Backend-Entwicklung > PHP-Tutorial > 多维数组中相同元素相加有关问题

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

WBOY
Freigeben: 2016-06-13 11:17:53
Original
1134 Leute haben es durchsucht

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

本帖最后由 myths621 于 2013-03-19 12:04:11 编辑 首次发帖,请假高手
我从redis中取出五维数组需要处理相加,如下
<br />$a = array(<br />	<br />		0 => array(<br /><br />			0=> array(<br />			<br />				"date" => "201201",<br />				"area"=> array(<br />					12 => array(<br />						click => "3",<br />						traffic => "30"<br />					)	<br />				)<br />			),	<br /><br />			1=> array(<br />			<br />				"date" => "201202",<br />				"area"=> array(<br />					12 => array(<br />						click => "8",<br />						traffic => "40"<br />					),<br />					8=> array(<br />						click => "5",<br />						traffic => "50"<br />					)<br />				)<br />			)	<br />			<br />		),<br /><br />		1 => array(<br />		<br />			0=> array(<br />			<br />				"date" => "201201",<br />				"area"=> array(<br />					12 => array(<br />						click => "9",<br />						traffic => "20"<br />					),<br />					8=> array(<br />						click => "6",<br />						traffic => "60"<br />					)<br />				)<br />				),<br />			<br />			1=> array(<br />			<br />				"date" => "201202",<br />				"area" => NULL<br />			)<br />		),<br />	<br />	<br />	);<br /><br />
Nach dem Login kopieren


希望数据处理后,相同date前提下,area里相同的key所对应的click和traffic值相加,即0和1这两个大数组,date为201001的,area中12所对应的click和traffic处理后应该是12和50,8对应的是6和60,其他类推,求遍历或其他能处理成功的方法,感激不尽~!
多维数组


------解决方案--------------------
最后结果是怎么样的? 贴一下。
------解决方案--------------------
$t = array();<br />foreach ($a as $k=>$v)<br />{<br />	foreach ($v as $k1=>$v1)<br />	{<br />		$t[0][$k1]['date'] = $v1['date'];<br />		foreach ($v1['area'] as $k2=>$v2)<br />		{<br />			$t[0][$k1]['area'][$k2]['click'] += $v2['click'];<br />			$t[0][$k1]['area'][$k2]['traffic'] += $v2['traffic'];<br />		}<br />	}<br />}<br />echo "<pre class="brush:php;toolbar:false">";<br />print_r($t);<br />echo "<pre class="brush:php;toolbar:false">";
Nach dem Login kopieren


结果如下:
<br>Array<br>(<br>    [0] => Array<br>        (<br>            [0] => Array<br>                (<br>                    [date] => 201201<br>                    [area] => Array<br>                        (<br>                            [12] => Array<br>                                (<br>                                    [click] => 12<div class="clear">
                 
              
              
        
            </div>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage