3v4l.org

run code in 300+ PHP versions simultaneously
<?php $items = [ (object) ['group_id' => 'a', 'price' => 10, 'options_count' => 3], (object) ['group_id' => 'a', 'price' => 15, 'options_count' => 2], (object) ['group_id' => 'b', 'price' => 55, 'options_count' => 4], (object) ['group_id' => 'c', 'price' => 75, 'options_count' => 5], ]; $totals = []; foreach($items as $item) { $group_identifier = $item->group_id; @$totals[ $group_identifier ]['turnover'] += $item->price; @$totals[ $group_identifier ]['products']++; @$totals[ $group_identifier ]['options'] += $item->options_count; } var_dump($totals);
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
array(3) { ["a"]=> array(3) { ["turnover"]=> int(25) ["products"]=> int(2) ["options"]=> int(5) } ["b"]=> array(3) { ["turnover"]=> int(55) ["products"]=> int(1) ["options"]=> int(4) } ["c"]=> array(3) { ["turnover"]=> int(75) ["products"]=> int(1) ["options"]=> int(5) } }

preferences:
148.74 ms | 408 KiB | 5 Q