Konvertimi i vargjeve shumëdimensionale në PHP

Le të themi se kemi një listë përdoruesish, të ruajtur në strukturën e mëposhtme:

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

Le të shkruajmë kod që do të riformatojë vargun tonë si kjo:

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

Le ta zgjidhim detyrën e vendosur duke përdorur një cikël:

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

Jepet një listë qyteteve dhe vendeve të tyre, të ruajtur në strukturën e mëposhtme:

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

Shkruani kod, i cili do të ristrukturojë të dhënat si kjo:

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

Jepet një listë ngjarjesh për data të caktuara, të ruajtur në strukturën e mëposhtme:

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

Shkruani kod, i cili do të ristrukturojë të dhënat si kjo:

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

Jepet një listë ngjarjesh për data të caktuara, të ruajtur në strukturën e mëposhtme:

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

Shkruani kod, i cili do të ristrukturojë të dhënat si kjo:

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