Grupowanie tablicy po kluczu w php

W niniejszym snippecie pokażę jak pogrupować tablicę asocjacyjną po określonym kluczu w php.

Realizuje to poniższa funkcja. Przyjmuje ona dwa parametry - naszą tablicę i klucz grupujący.
function groupBy($array, $key) {
    $return = [];
    foreach($array as $val) {
        $return[$val[$key]][] = $val;
    }
    return $return;
}
Poniższy przykład przedstawia jej użycie. Grupujemy tablicę $arr po kluczu "No".
$arr= [
[   'No' => 101,
    'Title' => 'title1',
    'Author' => 'ABC'
] ,
[   'No' => 101,
    'Title' => 'title2',
    'Author' => 'DEF'
] ,
[    'No' => 104, 
    'Title' => 'title3',
    'Author' => 'GHL'
] ];

print_r(groupBy($arr, 'No'));