3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sampleArray = [ ["id" => 0.1, "marks" => 2], ["id" => 0.2, "marks" => 4], ["id" => 0.3, "marks" => 1], ["id" => 1.1, "marks" => 6], ["id" => 1.2, "marks" => 0], ["id" => 1.8, "marks" => 8], ["id" => 2.1, "marks" => 7], ["id" => 2.2, "marks" => 12], ]; $result = []; foreach ($sampleArray as $row) { if ($result && !isset($result[$row['id']])) { // $result is not empty and current id is not yet in output array $lastKey = array_key_last($result); echo "Sum of ID $lastKey is {$result[$lastKey]}<br><br>"; } echo "id: {$row['id']}, marks: {$row['marks']}<br>"; $result[$row['id']] = ($result[$row['id']] ?? 0) + $row['marks']; } if ($result) { $lastKey = array_key_last($result); echo "Sum of ID $lastKey is {$result[$lastKey]}"; }

preferences:
25.94 ms | 404 KiB | 5 Q