我有一个数组:
Array ( [0] => Array ( [setid] => 2 [income] => 100 ) [1] => Array ( [setid] => 2 [income] => 120 ) [2] => Array ( [setid] => 3 [income] => 700 ) )
我需要找到具有相同setid的条目,将它们的收入加起来并删除重复的条目-最后,它应该看起来像这样:
Array ( [0] => Array ( [setid] => 2 [income] => 220 ) [1] => Array ( [setid] => 3 [income] => 700 ) )
有人知道我的问题有解决方案吗?还是我必须走很长的路并手动执行每个步骤?
谢谢和问候
只需创建一个新数组,您就可以使用setid作为键来快速进行寻址。并在最后对数组重新索引。
$result = array(); foreach ($array as $val) { if (!isset($result[$val['setid']])) $result[$val['setid']] = $val; else $result[$val['setid']]['income'] += $val['income']; } $result = array_values($result); // reindex array