php 二维数组去重合并的问题
本文介绍了php 二维数组去重合并的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
有如下数组,希望以为其中一维数组相同字段合并,并且total字段相加。例子如下
array(4) {
[0]=>
array(2) {
["total"]=>
string(1) "1"
["name"]=>
string(4) "张三"
}
[1]=>
array(2) {
["total"]=>
string(1) "1"
["name"]=>
string(4) "张三"
}
[2]=>
array(2) {
["total"]=>
string(1) "3"
["name"]=>
string(4) "张三"
}
[3]=>
array(2) {
["total"]=>
string(1) "1"
["name"]=>
string(6) "李四"
}
}
期望去重合并后得到新数组:
array(2) {
[0]=>
array(2) {
["total"]=>
string(1) "5"
["name"]=>
string(4) "张三"
}
[1]=>
array(2) {
["total"]=>
string(1) "1"
["name"]=>
string(6) "李四"
}
}
有谁有好的算法么
解决方案
$arr = array(
array(
'id'=>'1',
'name' => '张三'
),
array(
'id'=>'2',
'name' => '张三'
),
array(
'id'=>'1',
'name' => '李四'
)
);
$item = array();
foreach($arr as $k=>$v){
if(!isset($item[$v['name']])){
$item[$v['name']]=$v;
}else{
$item[$v['name']]['id']+=$v['id'];
}
}
echo '<pre>';
print_r(array_values($item));
这篇关于php 二维数组去重合并的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文