В многомерном массиве вывести ключи с общим значением в виде таблицы. Php
У меня - многомерный массив работников. Нужно вывести работников в зависимости от компании в виде списка. Например,
Microsoft
- Sergey
- Roman
- Yura
Amazon
- Olja
Понимаю, что выполняется через перебор массива foreach, но не знаю как вывести ключи. Может, конечно, через условие и конкатенацию...
$staff = [
[
'Name' => 'Serhii',
'Company' => 'Microsoft',
'Position' => 'Developer',
],
[
'Name' => 'Oleh',
'Company' => 'Apple',
'Position' => 'QC Engineer',
],
[
'Name' => 'Olya',
'Company' => 'Amazon',
'Position' => 'Project Manager',
],
[
'Name' => 'Andrii',
'Company' => 'Apple',
'Position' => 'Solution Architect',
],
[
'Name' => 'Ihor',
'Company' => 'Samsung',
'Position' => 'Engineer',
],
[
'Name' => 'Olesya',
'Company' => 'Samsung',
'Position' => 'Developer',
],
[
'Name' => 'Roman',
'Company' => 'Microsoft',
'Position' => 'Product Owner',
],
[
'Name' => 'Yura',
'Company' => 'Microsoft',
'Position' => 'QC Enginee',
],
[
'Name' => 'Iryna',
'Company' => 'ITStep',
'Position' => 'Teacher',
],
[
'Name' => 'Oksana',
'Company' => 'ITStep',
'Position' => 'Teacher',
],
];
Ответы (1 шт):
Автор решения: Владлен Вожжаев
→ Ссылка
Вот так: нужный список лежит тут $companyEmployees
$staff = [
[
'Name' => 'Serhii',
'Company' => 'Microsoft',
'Position' => 'Developer',
],
[
'Name' => 'Oleh',
'Company' => 'Apple',
'Position' => 'QC Engineer',
],
[
'Name' => 'Olya',
'Company' => 'Amazon',
'Position' => 'Project Manager',
],
[
'Name' => 'Andrii',
'Company' => 'Apple',
'Position' => 'Solution Architect',
],
[
'Name' => 'Ihor',
'Company' => 'Samsung',
'Position' => 'Engineer',
],
[
'Name' => 'Olesya',
'Company' => 'Samsung',
'Position' => 'Developer',
],
[
'Name' => 'Roman',
'Company' => 'Microsoft',
'Position' => 'Product Owner',
],
[
'Name' => 'Yura',
'Company' => 'Microsoft',
'Position' => 'QC Enginee',
],
[
'Name' => 'Iryna',
'Company' => 'ITStep',
'Position' => 'Teacher',
],
[
'Name' => 'Oksana',
'Company' => 'ITStep',
'Position' => 'Teacher',
],
];
$companyEmployees = array();
foreach ($staff as $staffItem)
$companyEmployees[$staffItem['Company']][]=$staffItem['Name'];
var_dump($companyEmployees);