Heim >Backend-Entwicklung >PHP-Tutorial >数组 去重 统计有关问题 有点难度的计算方法

数组 去重 统计有关问题 有点难度的计算方法

WBOY
WBOYOriginal
2016-06-13 12:18:52975Durchsuche

数组 去重 统计问题 有点难度的计算方法



如图 有一个数组 需要去重  重组数组的格式  在线讨论
------解决思路----------------------

<br /><meta charset="utf-8"><br /><?php <br />	$arra = array(<br />		0 => array(<br />			'id' => 0,<br />			'send_mobile'=> '13267310236',<br />			'c_content'=>'天气很热注意防暑'<br />		),<br />		1 => array(<br />			'id' => 1,<br />			'send_mobile'=> '13267310285',<br />			'c_content'=>'天气很热注意防暑'<br />		),<br />		2 => array(<br />			'id' => 2,<br />			'send_mobile'=> '13267310126',<br />			'c_content'=>'天气很热注意防暑'<br />		),<br />		3 => array(<br />			'id' => 3,<br />			'send_mobile'=> '13267310166',<br />			'c_content'=>'天气防暑'<br />		)<br />	);<br /><br />	$arrb = array();<br />	<br />	foreach ($arra as $v){<br />		$b = $v['c_content'];<br />		if(isset($arrb[$b])) <br />			$arrb[$b]['send_mobile'] .= ','.$v['send_mobile'];<br />		$arrb[$b] = isset($arrb[$b])?$arrb[$b]:$v;<br />	}<br />	<br />	$arrb = array_values($arrb);<br />	print_r($arrb);<br />?><br />



------解决思路----------------------
看你那个是用c_id做区分的吧,那就直接用cid做key, $arr[$cid][] = $val
------解决思路----------------------
提示你一下  中文可以作为数组键   

foreach ($arra as $k=>$v) { $res [$v[c_content]] = $v; } 
一句话ok
------解决思路----------------------
新建个数组b,遍历原数组a,如果遍历项中的c_content没有作为键名出现在b中,则插入一个b[c_content];否则把遍历到的send_mobile加进去,最后再把b数组整个重新键值排序一下。

Stellungnahme:
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