PHP에서 다차원 배열 변환

다음과 같은 구조로 저장된 사용자 목록이 있다고 가정해 보겠습니다:

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

다음과 같은 배열로 포맷을 변경하는 코드를 작성해 봅시다:

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

루프를 사용하여 주어진 작업을 해결해 보겠습니다:

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

다음 구조로 저장된 도시와 해당 국가 목록이 있습니다:

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

데이터 구조를 다음과 같이 변경하는 코드를 작성하세요:

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

특정 날짜의 이벤트 목록이 다음과 같은 구조로 저장되어 있습니다:

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

데이터 구조를 다음과 같이 변경하는 코드를 작성하세요:

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

특정 날짜의 이벤트 목록이 다음과 같은 구조로 저장되어 있습니다:

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

데이터 구조를 다음과 같이 변경하는 코드를 작성하세요:

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