Извините, ребята, я новичок во всем этом кодировании. Я просто не могу осмыслить многомерные массивы. Я получаю всю свою информацию из файла CSV, который обрабатывается с помощью PHP. У меня есть две уже определенные переменные из CSV. Школы и комнаты. Каждая строка CSV определяет, какая школа и какая комната идут вместе. Данные из CSV будут выглядеть так.
School Gender HomeRoom
10 F 1
10 F 2
1028 F 1
10 F 2
10 F 4
1028 F 8
1026 F 5
1028 F 1
1026 F 1
Пример:
$school = array('10', '1028','1026')
$room = array('1','2','4','5','8').
Желаемый результат:
$list = array('10' => array('1','2','4'), '1028' => array('1','8'), '1026' => array('1','5'))
В школах будет несколько комнат. Я в основном хочу создать новый массив комнат, проиндексированных школами. Я перепробовал множество вещей, но это всегда меня заводит. Будем очень признательны за любые советы, указатели или ресурсы. Также дайте мне знать, если мне нужно добавить дополнительную информацию.
$school['school1'] = array('room1', 'room2'); и т.д ...
Можете ли вы дать пример данных, а не «массив с кучей школ»?
$ schoolWithRooms = array ('school1' => array ('room1', 'room2'), 'school2' => array ('roomX', 'roomY'));
Покажите нам (в своем вопросе) пример двух массивов с некоторыми ФАКТИЧЕСКИМИ репрезентативными данными в них, а затем покажите нам результат, который вы хотите в новом массиве
Я обновил пост. Извините, я так расплывчата, я новичок в этом.
Возможно, вам также нужно показать нам пример файла CSV. Я до сих пор не понимаю, как правильно распределить комнаты в правильной школе.
Пожалуйста, попробуйте опубликовать действительный код без синтаксических ошибок. Будьте осторожны в том, что делаете.
Я снова обновил сообщение с образцами данных.






<?php
$csv =<<<CSV
School Gender HomeRoom
10 F 1
10 F 2
1028 F 1
10 F 2
10 F 4
1028 F 8
1026 F 5
1028 F 1
1026 F 1
CSV;
foreach(explode("\n", $csv) as $line) {
$items[] = str_getcsv($line, ' ');
}
$headings = array_shift($items);
foreach($items as $item)
$list[$item[0]][] = $item[2];
$list = array_map('array_unique', $list);
var_export($list);
Выход:
array (
10 =>
array (
0 => '1',
1 => '2',
3 => '4',
),
1028 =>
array (
0 => '1',
1 => '8',
),
1026 =>
array (
0 => '5',
1 => '1',
),
)
Пожалуйста, объясните точное требование.