Konvertering af multidimensionelle arrays i PHP

Lad os sige, at vi har en liste over brugere, der er gemt i følgende struktur:

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

Lad os skrive kode, der omformaterer vores array til sådan et her:

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

Lad os løse den stillede opgave med en løkke:

php<?php
  $res = [];
  
  foreach ($users as $user) {
    $res[$user['id']] = $user;
  }
  
  var_dump($res);
?>
Задание 1

Der er givet en liste over byer og deres lande, gemt i følgende struktur:

php[
  [
    'country' => 'country1',
    'city' =>    'city1',
  ],
  [
    'country' => 'country2',
    'city' =>    'city2',
  ],
  [
    'country' => 'country1',
    'city' =>    'city3',
  ],
  [
    'country' => 'country1',
    'city' =>    'city4',
  ],
  [
    'country' => 'country3',
    'city' =>    'city5',
  ],
  [
    'country' => 'country2',
    'city' =>    'city6',
  ],
  [
    'country' => 'country3',
    'city' =>    'city7',
  ],
]

Skriv kode, der omdanner datastrukturen til sådan en her:

php[
  'country1'=> [
    'city1', 'city3', 'city4',
  ],
  'country2'=> [
    'city2', 'city6'
  ],
  'country3'=> [
    'city7', 'city5'
  ],
]
Задание 2

Der er givet en liste over begivenheder på bestemte datoer, gemt i følgende struktur:

php[
  [
    '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'
  ],
]

Skriv kode, der omdanner datastrukturen til sådan en her:

php[
  '2019-12-29'=> ['name1', 'name3', 'name5', 'name7'],
  '2019-12-30'=> ['name4', 'name8', 'name9'],
  '2019-12-31'=> ['name2', 'name6'],
]
Задание 3

Der er givet en liste over begivenheder på bestemte datoer, gemt i følgende struktur:

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

Skriv kode, der omdanner datastrukturen til sådan en her:

php[
  [
    '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'
  ],
]