# Конвертация многомерных массивов в 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 $res = []; foreach ($users as $user) { $res[$user['id']] = $user; } var_dump($res); ?>`

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

`[ [ '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' ], ]`
← →
↑