Конвертация многомерных массивов в PHP

Пусть у нас есть список юзеров, хранящийся в следующей структуре:

<?php $users = [ [ 'id' => 11, 'name' => 'name11', 'surname' => 'surname11', ], [ 'id' => 14, 'name' => 'name14', 'surname' => 'surname14', ], [ 'id' => 17, 'name' => 'name17', 'surname' => 'surname17', ], ]; ?>

Давайте напишем код, который переформатирует наш массив вот в такой:

[ 11 => [ 'id' => 11, 'name' => 'name11', 'surname' => 'surname11', ], 14 => [ 'id' => 14, 'name' => 'name14', 'surname' => 'surname14', ], 17 => [ 'id' => 17, 'name' => 'name17', 'surname' => 'surname17', ], ]

Решим поставленную задачу с помощью цикла:

<?php $result = []; foreach ($users as $user) { $result[$user['id']] = $user; } var_dump($result); ?>

Дан список городов и их стран, хранящийся в следующей структуре:

[ [ 'country' => 'Россия', 'city' => 'Москва', ], [ 'country' => 'Беларусь', 'city' => 'Минск', ], [ 'country' => 'Россия', 'city' => 'Питер', ], [ 'country' => 'Россия', 'city' => 'Владивосток', ], [ 'country' => 'Украина', 'city' => 'Львов', ], [ 'country' => 'Беларусь', 'city' => 'Могилев', ], [ 'country' => 'Украина', 'city' => 'Киев', ], ]

Напишите код, которой переделает структуру данных вот в такую:

[ 'Россия'=> [ 'Москва', 'Питер', 'Владивосток', ], 'Беларусь'=> [ 'Минск', 'Могилев' ], 'Украина'=> [ 'Киев', 'Львов' ], ]

Дан список событий за определенные даты, хранящийся в следующей структуре:

[ [ 'date' => '2019-12-29', 'event' => 'name1' ], [ 'date' => '2019-12-31', 'event' => 'name2' ], [ 'date' => '2019-12-29', 'event' => 'name3' ], [ 'date' => '2019-12-30', 'event' => 'name4' ], [ 'date' => '2019-12-29', 'event' => 'name5' ], [ 'date' => '2019-12-31', 'event' => 'name6' ], [ 'date' => '2019-12-29', 'event' => 'name7' ], [ 'date' => '2019-12-30', 'event' => 'name8' ], [ 'date' => '2019-12-30', 'event' => 'name9' ], ]

Напишите код, которой переделает структуру данных вот в такую:

[ '2019-12-29'=> ['name1', 'name3', 'name5', 'name7'], '2019-12-30'=> ['name4', 'name8', 'name9'], '2019-12-31'=> ['name2', 'name6'], ]

Дан список событий за определенные даты, хранящийся в следующей структуре:

[ '2019-12-29'=> ['name1', 'name2', 'name3', 'name4'], '2019-12-30'=> ['name5', 'name6', 'name7'], '2019-12-31'=> ['name8', 'name9'], ]

Напишите код, которой переделает структуру данных вот в такую:

[ [ 'date' => '2019-12-29', 'event' => 'name1' ], [ 'date' => '2019-12-29', 'event' => 'name2' ], [ 'date' => '2019-12-29', 'event' => 'name3' ], [ 'date' => '2019-12-29', 'event' => 'name4' ], [ 'date' => '2019-12-30', 'event' => 'name5' ], [ 'date' => '2019-12-30', 'event' => 'name6' ], [ 'date' => '2019-12-30', 'event' => 'name7' ], [ 'date' => '2019-12-31', 'event' => 'name8' ], [ 'date' => '2019-12-31', 'event' => 'name9' ], ]