Группируйте строки двумерных массивов по значению столбца и помещайте целые строки в подмассивы.Php

Кемеровские программисты php общаются здесь
Anonymous
Группируйте строки двумерных массивов по значению столбца и помещайте целые строки в подмассивы.

Сообщение Anonymous »

У меня есть массив загрузок, который выглядит следующим образом:

Код: Выделить всё

$uploads[0] = array('type' => 'upload', 'label' => 'blah');
$uploads[1] = array('type' => 'upload', 'label' => 'blah');
$uploads[2] = array('type' => 'upload', 'label' => 'blah');
$uploads[3] = array('type' => 'upload', 'label' => 'foobar');
Я хочу создать этот массив:

Код: Выделить всё

$upload_fields = array(
'blah' => array(
array('type' => 'upload', 'label' => 'blah')
array('type' => 'upload', 'label' => 'blah')
array('type' => 'upload', 'label' => 'blah')
),
'foobar' => array(
array('type' => 'upload', 'label' => 'foobar')
)
);
По сути, я хочу сгруппировать массивы по их меткам. Массивы, которые нужно сгруппировать, являются динамическими, иначе я мог бы сделать что-то вроде:

Код: Выделить всё

$array_group_1 = array();
$array_group_2 = array();

foreach($uploads as $upload) {
if($upload['label'] == 'blah') {
array_push($array_group_1, $upload);
}  else {
array_push($array_group_2, $upload);
}
}

$upload_fields = array(
'blah' => $array_group_1,
'foobar' => $array_group_2
);
Но поскольку ключи динамические, как мне этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/167 ... -subarrays

Вернуться в «Php»