【发布时间】:2016-09-09 13:12:13
【问题描述】:
我有一个包含 3 个字段的 csv:代码、父级、标签:
code;parent;label
cata;;"Category A"
level1;cata;level1
level1_1;level1;"level 1 - 1"
level1_2;level1;"level 1 - 2"
level1_3;level1;"level 1 - 3"
level1_4;level1;"level 1 - 4"
level2;cata;level2
level2_1;level2;"level 2 - 1"
level2_2;level2;"level 2 - 2"
level2_3;level2;"level 2 - 3"
level2_4;level2;"level 2 - 4"
catb;;"Category B"
blevel1;catb;level1
blevel1_1;level1;"level 1 - 1"
blevel1_2;level1;"level 1 - 2"
blevel1_3;level1;"level 1 - 3"
blevel1_4;level1;"level 1 - 4"
blevel2;catb;level2
blevel2_1;level2;"level 2 - 1"
blevel2_2;level2;"level 2 - 2"
blevel2_3;level2;"level 2 - 3"
blevel2_4;level2;"level 2 - 4"
我正在尝试制作一个数组,例如第一级是“Cat A”,第二级是“level1”,第三级是“level 1 - 1”,最后有所有 3 个字段(代码、父级、标签)级别。
-cata
--level1
---level1_1
---level1_2
---level1_3
---level1_4
--level2
---level2_1
---level2_2
---level2_3
---level2_4
-catb
--blevel1
---blevel1_1
---blevel1_2
---blevel1_3
---blevel1_4
--blevel2
---blevel2_1
---blevel2_2
---blevel2_3
---blevel2_4
我尝试了几件事,但有点“卡住”。 我可以毫无问题地读取我的 csv 并创建一个数组。但我关心的是“之后”创建结果数组。
这是我的“第一次尝试”
$file = 'imports/test-cat.csv';
$all_rows = array();
$header = null;
$f = fopen($file, "r");
$size = filesize($file) + 1;
while ($row = fgetcsv($f, $size, ";")) {
if ($header === null) {
$header = $row;
continue;
}
$all_rows[] = array_combine($header, $row);
}
fclose($f);
如果有人能告诉我我该往哪个方向走
谢谢
【问题讨论】:
-
I try several things, but a little bit "stuck".然后显示一些代码,以便有人可以帮忙。 -
你能给我们展示一个你想要的输出的例子吗?
-
我用我想要的结果编辑我的第一个主题。谢谢