我有一个带有一些文件夹路径的多维数组。在这个数组中,我应该构建一棵树。与在命令提示符中使用“tree”时类似。对不起,我的英语不好,我的小知识,我还是学生。
多维数组:
Array
(
[0] => Array
(
[X:] => Array
(
[A1] => Array
(
[10_ColdForging] => Array
(
[01_Administration] => Array
(
)
)
)
)
)
[1] => Array
(
[X:] => Array
(
[A1] => Array
(
[99_MusterOrdner] => Array
(
)
)
)
)
[2] => Array
(
[X:] => Array
(
[A1] => Array
(
[10_ColdForging] => Array
(
)
)
)
)
)
树应该与此类似:
X:\
A1
10_ColdForging
01_Administration
99_MusterOrdner
我找到了一些JavaScript的东西,但他们都希望列出整个目录。东西
like this会很完美。
但我不知道它是如何工作的,没有文档。
答案 0 :(得分:0)
试试这个:(取自您发布和编辑的链接)。
<?php
$hey = array(
'X:\\',
array(
'A1',
array('10_coldForgin', array('01_Administration'), '99_MusterOrdner')
)
);
$awesome = new RecursiveTreeIterator(
new RecursiveArrayIterator($hey),
null, null, RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($awesome as $line)
echo $line.PHP_EOL;
对我来说这看起来像这样:
|-X:\
|-A1
|-10_coldForgin
| \-01_Administration
\-99_MusterOrdner
答案 1 :(得分:0)
好的,我解决了这个问题。我已经改变了数组,所以看起来像这样:
Array
(
[0] => Array
(
[0] => Y:
)
[1] => Array
(
[0] => A1
)
[2] => Array
(
[0] => 10_ColdForging
[1] => 99_MusterOrdner
)
[3] => Array
(
[0] => 01_Administration
)
)
然后我使用了来自here的函数并且它有效。只有一点问题,子文件夹未正确列出。它列在“99_MusterOrder”中,但它应该在“10_ColdForging”中。我要修改数组或函数来解决这个问题。
编辑:
找到一个非常好的脚本,根据我的需要转换数组: HERE
我将它与上面的剧本相结合,它就像一个魅力。
Array
(
[Y:] => Array
(
[A1] => Array
(
[10_ColdForging] => Array
(
[02_Travel] => X:\A1\10_ColdForging\02_Travel
[01_Administration] => X:\A1\10_ColdForging\01_Administration
)
[99_MusterOrdner] => X:\A1\99_MusterOrdner
)
[A3] => Array
(
[02_department] => Array
(
[001_Coaches] => X:\A3\02_department\001_Coaches
)
)
)
)