当前位置:Gxlcms > PHP教程 > 数组去重统计有关问题有点难度的计算方法

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

时间:2021-07-01 10:21:17 帮助过:16人阅读

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



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


$arra = array(
0 => array(
'id' => 0,
'send_mobile'=> '13267310236',
'c_content'=>'天气很热注意防暑'
),
1 => array(
'id' => 1,
'send_mobile'=> '13267310285',
'c_content'=>'天气很热注意防暑'
),
2 => array(
'id' => 2,
'send_mobile'=> '13267310126',
'c_content'=>'天气很热注意防暑'
),
3 => array(
'id' => 3,
'send_mobile'=> '13267310166',
'c_content'=>'天气防暑'
)
);

$arrb = array();

foreach ($arra as $v){
$b = $v['c_content'];
if(isset($arrb[$b]))
$arrb[$b]['send_mobile'] .= ','.$v['send_mobile'];
$arrb[$b] = isset($arrb[$b])?$arrb[$b]:$v;
}

$arrb = array_values($arrb);
print_r($arrb);
?>



------解决思路----------------------
看你那个是用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数组整个重新键值排序一下。

人气教程排行