Группируйте данные строк из 2D-массива по ключам, чтобы создать ассоциативный массив и удалить повторяющиеся значения, иPhp

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

Сообщение Anonymous »

Как можно сделать следующее с коллекциями Laravel
Мы получили этот массив: предположим, что мы заранее не знаем имена ни одного из ключей.

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

$input = [
['name' => 'John McClane', 'age' => '40'],
['name' => 'John McClane', 'age' => '50'],
['name' => 'Hans Gruber', 'age' => '40'],
['name' => 'Hans Gruber', 'age' => '50'],
['name' => 'Holly McClane', 'age' => '20'],
['name' => 'Holly McClane', 'age' => '49'],
];

$output = [
'name' => [
'John McClane',
'Hans Gruber',
'Holly McClane'
],
'age' => [
'40',
'50',
'20',
'49'
]
];
Обновление: @Felippe Duarte добавил простую версию PHP, объясняющую, как это можно сделать.

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

$output = [];
foreach ($input as $arr) {
$keys = array_keys($arr);
foreach ($keys as $key) {
$output[$key] =  array_unique(array_column($input, $key));
}
}
Просто замените array_unique(array_column($input, $key));

на $input->pluck($key)->toArray (); не очень интересно.
Что мне интересно, есть ли изящный способ сделать это полностью с помощью коллекции Laravel в одной строке?Группировка по ключам второго уровня с уникальными значениями в каждой группе.

Подробнее здесь: https://stackoverflow.com/questions/538 ... and-remove
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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