繁体   English   中英

已经在PHP中将变量定义为多维数组了吗?

[英]Already defined variables into multi-dimensional arrays in PHP?

抱歉,我对整个编码工作还是陌生的。 我似乎无法将自己包裹在多维数组上。 我正在从正在使用PHP处理的CSV文件中获取所有信息。 我已经从CSV中定义了两个变量。 学校和房间。 CSV上的每一行都决定了哪个学校和哪个房间在一起。 CSV中的数据将如下所示。

学校性别家庭房
10楼1
10楼2
1028 F 1
10楼2
10楼4
1028楼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'))

学校将有多个房间,我基本上想创建一个由学校索引的新房间。 我尝试了很多事情,但这总是让我受益。 任何提示,指针或资源将不胜感激。 如果需要添加更多信息,也请告诉我。

<?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',
    ),
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM