<?php
$array = [
['mail' => 'mail1@example.com', 'coins' => '25000.00'],
['mail' => 'mail2@example.com', 'coins' => '500000.00'],
['mail' => 'mail1@example.com', 'coins' => '10000.00'],
['mail' => 'mail2@example.com', 'coins' => '10000.00'],
['mail' => 'mail3@example.com', 'coins' => '20000.00'],
];
$result = [];
foreach ($array as ['mail' => $mail, 'coins' => $coins]) {
if (!isset($result[$mail])) {
$result[$mail] = [1, $coins]; // declare the data for the first instance of mail
} else {
++$result[$mail][0]; // increment the running count
$result[$mail][1] += $coins; // add coins to running total
}
}
foreach ($result as $mail => $row) {
printf("%s (%d), %.2f coins\n", $mail, ...$row);
}
preferences:
24.1 ms | 404 KiB | 5 Q