Загрузка данных


<?php
// Исходный ассоциативный массив из задания №6
$albums = [
    [
        'id' => 1,
        'name' => 'Atom Heart Mother',
        'date' => '10 октября 1970',
        'label' => 'EMI, Harvest, Capitol',
        'format' => 'LP, CD',
        'status' => 'Золотой (USA)'
    ],
    [
        'id' => 2,
        'name' => 'Meddle',
        'date' => '30 октября 1971',
        'label' => 'EMI, Harvest, Capitol',
        'format' => 'Vinyl, Kaccera, CD',
        'status' => 'Платиновый (USA)'
    ],
    [
        'id' => 3,
        'name' => 'Obscured by Clouds',
        'date' => '3 июня 1972',
        'label' => 'EMI, Harvest, Capitol',
        'format' => 'LP, Kaccera, CD',
        'status' => 'Золотой (USA)'
    ],
    [
        'id' => 4,
        'name' => 'The Dark Side of the Moon',
        'date' => '17 марта 1973',
        'label' => 'Harvest, Capitol, EMI',
        'format' => 'LP, Kaccera, CD, SACD',
        'status' => 'Платиновый (USA), Платиновый (GBR), Бриллиантовый (CAN)'
    ],
    [
        'id' => 5,
        'name' => 'Wish You Were Here',
        'date' => '15 сентября 1975',
        'label' => 'Harvest, EMI, Columbia, Capitol',
        'format' => 'LP, S-track, Kaccera, CD, SACD',
        'status' => 'Платиновый (USA), Золотой (GBR), Платиновый (CAN)'
    ],
    [
        'id' => 6,
        'name' => 'Animals',
        'date' => '23 января 1977',
        'label' => 'Harvest, EMI, Columbia, Capitol',
        'format' => 'LP, S-track, Kaccera, CD',
        'status' => 'Платиновый (USA), Золотой (GBR), Платиновый (CAN)'
    ],
    [
        'id' => 7,
        'name' => 'The Wall',
        'date' => '30 ноября 1979',
        'label' => 'Harvest, EMI, Columbia, Capitol',
        'format' => 'LP, S-track, Kaccera, CD',
        'status' => 'Платиновый (USA), Платиновый (GBR), Бриллиантовый (CAN), Платиновый (NLD)'
    ],
    [
        'id' => 8,
        'name' => 'The Final Cut',
        'date' => '21 марта 1983',
        'label' => 'Harvest, EMI, Columbia, Capitol',
        'format' => 'LP, S-track, Kaccera, CD',
        'status' => 'Платиновый (USA), Золотой (GBR), Золотой (NLD)'
    ],
    [
        'id' => 9,
        'name' => 'A Momentary Lapse of Reason',
        'date' => '8 сентября 1987',
        'label' => 'EMI, Columbia',
        'format' => 'LP, Kaccera, CD',
        'status' => 'Платиновый (USA), Золотой (GBR), Платиновый (CAN), Золотой (NLD)'
    ],
    [
        'id' => 10,
        'name' => 'The Division Bell',
        'date' => '30 марта 1994',
        'label' => 'EMI, Columbia',
        'format' => 'LP, Kaccera, CD',
        'status' => 'Платиновый (USA), Платиновый (GBR), Платиновый (CAN), Платиновый (NLD)'
    ]
];

// Функция для разбиения строки-списка в массив (по запятой с пробелом)
function splitToList($str) {
    // Разделяем по ", " (запятая с пробелом)
    $parts = explode(', ', $str);
    // Обрезаем лишние пробелы на всякий случай
    return array_map('trim', $parts);
}

// Преобразуем в многомерный массив (поля label, format, status становятся массивами)
$multiDimAlbums = [];
foreach ($albums as $album) {
    $multiDimAlbums[] = [
        'id' => $album['id'],
        'name' => $album['name'],
        'date' => $album['date'],
        'label' => splitToList($album['label']),
        'format' => splitToList($album['format']),
        'status' => splitToList($album['status'])
    ];
}

// Выводим с помощью print_r в браузере (обрамляем в <pre> для читаемости)
echo '<pre>';
print_r($multiDimAlbums);
echo '</pre>';
?>