$array = [['id' => 133, 'name' => 'aaa', 'group' => 'A'],
['id' => 265, 'name' => 'www', 'group' => 'B'],
['id' => 387, 'name' => 'ppp', 'group' => 'A'],
['id' => 490, 'name' => 'mmm', 'group' => 'B']];
$grouped_array = array_reduce(
$array,
function ($carry, $item) {
$carry[$item['group']][] = $item;
return $carry;
},
[]
);
print_r($grouped_array);
/*
run:
Array
(
[A] => Array
(
[0] => Array
(
[id] => 133
[name] => aaa
[group] => A
)
[1] => Array
(
[id] => 387
[name] => ppp
[group] => A
)
)
[B] => Array
(
[0] => Array
(
[id] => 265
[name] => www
[group] => B
)
[1] => Array
(
[id] => 490
[name] => mmm
[group] => B
)
)
)
*/