数组 去重 统计问题 有点难度的计算方法
如图 有一个数组 需要去重 重组数组的格式 在线讨论
——解决思路———————-
<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 /><span style="color:transparent">/本文来源gaodai#ma#com搞*!代#%^码网%</span><sub>搞代gaodaima码</sub> '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数组整个重新键值排序一下。