Подскажите, как можно сгруппировать массив в PHP:
$arr = array (
0 => array (
'test1' => '1',
),
1 => array (
'test2' => '2',
),
2 => array (
'test3' => '3',
),
3 => array (
'test3' => '4',
)
);
Нужно сгруппировать по ключу test3 таким образом, чтобы он остался ключом, а значения стали массивом для этого ключа.
Например:
$arr = array (
0 => array (
'test1' => '1',
),
1 => array (
'test2' => '2',
),
2 => array (
'test3' => array('3', '4')
)
);
От руки
function groupByKey(&$arr, $recurs = true, $full_recurs = true) {
$new_arr = array();
foreach ($arr AS $val) {
foreach ($val AS $key=>$value) {
if (is_array($value) && $recurs) $value = groupByKey($value, $full_recurs);
$new_arr[$key][] = $value;
}
}
return $new_arr;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости