将数组中相同id的数组合并,其他值相加或合并:列子
$data = [["name" => "唐鸿",
"year" => 2025,
"month" => 202504,
"remark" => "22",
"user_id" => 2394,
"adjust_prices" => "22"
],
["name" => "郑秋燕",
"year" => 2025,
"month" => 202504,
"remark" => "测试1",
"user_id" => 5477,
"adjust_prices" => 10
],
["name" => "杨建华",
"year" => 2025,
"month" => 202504,
"remark" => "222",
"user_id" => 10921,
"adjust_prices" => 0
],
["name" => "唐鸿",
"year" => 2025,
"month" => 202504,
"remark" => "测试33",
"user_id" => 2394,
"adjust_prices" => "56"
],
["name" => "郑秋燕",
"year" => 2025,
"month" => 202504,
"remark" => "22",
"user_id" => 5477,
"adjust_prices" => 100
]];
使用方法
$arr = [];
foreach($data as $k=>$v){
$key = $v['user_id'];
$arr[$key]['user_id'] = $v['user_id'];
$arr[$key]['name'] = $v['name'];
$arr[$key]['year'] = $v['year'];
$arr[$key]['month'] = $v['month'];
if(!empty($arr[$key]['adjust_prices'])){
$arr[$key]['adjust_prices'] += $v['adjust_prices'];
}else{
$arr[$key]['adjust_prices'] = $v['adjust_prices'];
}
if(!empty($arr[$key]['remark'])){
$arr[$key]['remark'] .= ','.$v['remark'];
}else{
$arr[$key]['remark'] = $v['remark'];
}
}
var_dump($arr);