对不起,我对整个编码工作还是陌生的。我似乎无法将自己包裹在多维数组上。我正在从正在使用PHP处理的CSV文件中获取所有信息。我已经从CSV中定义了两个变量。学校和房间。 CSV上的每一行都决定了哪个学校和哪个房间在一起。 CSV中的数据将如下所示。
学校性别居室
10楼F 1
10 F F 2 2
1028 F F 1 1
10 F F 2 2
10 F F 4 4
1028 F F 8 8
1026 F F 5 5
1028 F F 1 1
1026 F F 1 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'))
学校将有多个房间 我基本上想创建一个由学校索引的新房间阵列。我尝试了很多事情,但这总是让我受益。任何提示,指针或资源将不胜感激。如果需要添加更多信息,也请告诉我。
答案 0 :(得分:0)
<?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',
),
)