<?php
$array = [
['group' => 'Apple', 'num' => 5, 'price' => 10],
['group' => 'Apple', 'num' => 2, 'price' => 8],
['group' => 'Orange', 'num' => 4, 'price' => 6],
['group' => 'Orange', 'num' => 12, 'price' => 24],
];
$result = [];
foreach ($array as ['group' => $g, 'num' => $n, 'price' => $p]) {
$result[$g]['group'] = $g;
$result[$g]['num'] = ($result[$g]['num'] ?? 0) + $n;
$result[$g]['price'] = ($result[$g]['price'] ?? 0) + $p;
}
var_export(array_values($result));
- Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- array (
0 =>
array (
'group' => 'Apple',
'num' => 7,
'price' => 18,
),
1 =>
array (
'group' => 'Orange',
'num' => 16,
'price' => 30,
),
)
preferences:
102.9 ms | 402 KiB | 62 Q