<?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