3v4l.org

run code in 300+ PHP versions simultaneously
<?php $rows = [ ["Reservation" => ["adult_price" => 2000, "adult_count" => 2]], ["Reservation" => ["adult_price" => 1000, "adult_count" => 1]], ["Reservation" => ["adult_price" => 500, "adult_count" => 4]], ["Reservation" => ["adult_price" => 2000, "adult_count" => 3]], ["Reservation" => ["adult_price" => 2000, "adult_count" => 2]], ["Reservation" => ["adult_price" => 1000, "adult_count" => 1]], ["Reservation" => ["adult_price" => 500, "adult_count" => 4]], ["Reservation" => ["adult_price" => 2000, "adult_count" => 3]], ]; $result = []; foreach ($rows as $row) { if (!isset($result[$row['Reservation']['adult_price']])) { $result[$row['Reservation']['adult_price']] = $row; } else { $result[$row['Reservation']['adult_price']]['Reservation']['adult_count'] += $row['Reservation']['adult_count']; } } var_export(array_values($result));

preferences:
31.18 ms | 405 KiB | 5 Q