3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['group' => 1, 'animal' => 'ape'], ['group' => 1, 'animal' => 'bat'], ['group' => 1, 'animal' => 'cat'], ['group' => 2, 'animal' => 'dog'], ['group' => 1, 'animal' => 'eel'], ['group' => 3, 'animal' => 'fox'], ['group' => 1, 'animal' => 'gnu'], ['group' => 2, 'animal' => 'hog'], ]; $result = []; foreach ($array as $row) { $result[$row['group']] ??= $row + ['count' => 0]; ++$result[$row['group']]['count']; } var_export(array_values($result));

preferences:
35.74 ms | 405 KiB | 5 Q