3v4l.org

run code in 500+ PHP versions simultaneously
<?php $result = [ ['color' => 'black', 'price' => 15], ['color' => 'white', 'price' => 25], ['color' => 'green', 'price' => 35], ['color' => 'black', 'price' => 45], ]; // Truth: A mysql result set object ($result) is iterable so you can just feed it to a foreach loop! $a = []; foreach ($result as $row) { $a[$row['color']]['price'] = ($a[$row['color']]['price'] ?? 0) + $row['price']; } var_export($a);
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 'black' => array ( 'price' => 60, ), 'white' => array ( 'price' => 25, ), 'green' => array ( 'price' => 35, ), )

preferences:
174.23 ms | 1518 KiB | 4 Q