Объяснить как работает Aссоциативный массив
Объяснить как работает эта часть кода.
$result[$item['country']][] = $item['city'];// не понимаю зачем тут []
foreach ($items as $item) {
$result[$item['country']][] = $item['city'];
}
Пример Aссоциативного массива
$cites = [
[
'country' => 'Россия',
'city' => 'Москва',
],
[
'country' => 'Беларусь',
'city' => 'Минск',
],
[
'country' => 'Россия',
'city' => 'Питер',
],
[
'country' => 'Россия',
'city' => 'Владивосток',
],
[
'country' => 'Украина',
'city' => 'Львов',
],
[
'country' => 'Беларусь',
'city' => 'Могилев',
],
[
'country' => 'Украина',
'city' => 'Киев',
],
];
Ответы (1 шт):
Здесь в конечном итоге получится ассоциативный массив, где ключом является название страны, а значением — массив городов этой страны
Предположим, вы на самой первой итерации цикла и рассматриваете элемент ['country' => 'Россия', 'city' => 'Москва'].
Строка
$result[$item['country']][] = $item['city'];
будет означать
$result['Россия'][] = 'Москва';
Если в начале $result не имеет никакого значения, то переменная станет ассоциативным массивом с единственным элементом. Ключом будет 'Россия'.
Значение в начале у элемента отсутствует, но, поскольку мы применяем к нему оператор [], который означает добавить в самый конец массива, то значением станет пустой массив, в который будет добавлен элемент 'Москва'.
$result = [
'Россия' => [ 'Москва' ]
];
После завершения цикла у нас получится ассоциативный массив со странами и городами.