PHP
Public
Group Array Items by Key
A useful PHP helper for grouping database rows by a selected key.
#php
#array
#utility
#beginner
PHP
<?php
function groupByKey(array $items, string $key): array
{
$groups = [];
foreach ($items as $item) {
$groupKey = (string) ($item[$key] ?? '');
if ($groupKey === '') {
continue;
}
$groups[$groupKey][] = $item;
}
return $groups;
}
$rows = [
['language' => 'php', 'title' => 'PDO Select'],
['language' => 'css', 'title' => 'Spinner'],
['language' => 'php', 'title' => 'Slug Generator'],
];
print_r(groupByKey($rows, 'language'));
Notes
This is helpful when rendering grouped lists from flat database results.