php 二维数组中 若两个相同的值 另一个值 合并
根据 数组的key 不可重复的原理 将判断的值(可能多个,用字符串拼接) 作为key ,然后放入新的数组, 要计算的值可以重新计算
然后我们只需要新数组的value 即可,key 就是不可重复的那个要判断的值。例如:
<?php
error_reporting(0);
$res = [
[
'name' => 'a',
'age' => 12,
'number' => 11,
'score' => 50,
],
[
'name' => 'a',
'age' => 12,
'number' => 11,
'score' => 30,
],
[
'name' => 'b',
'age' => 12,
'number' => 12,
'score' => 50,
]
];
$new_arr = [];
foreach ($res as $index => $item) {
$tmp = $item['name'] . '-' . $item['age'];
$new_arr[$tmp]['name'] = $item['name'];
$new_arr[$tmp]['age'] = $item['age'];
$new_arr[$tmp]['score'] += $item['score'] . ',';
//$res[$index]['score'] = rtrim($new_arr[$tmp]['score'],',');
}
var_dump(array_values($new_arr));
//var_dump($res);