我有一个带有一些文件夹路径的多维数组。在这个数组中,我应该构建一棵树。类似于在命令提示符下使用"树"时的情况。对不起,我的英语不好,我的知识很少,我仍然是一名学生。
多维数组:
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的东西,但他们都想列出整个目录。东西
像这样将是完美的。但我不明白它是如何工作的,没有文档。
试试这个:(取自您发布和编辑的链接)。
<?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
好的,我解决了问题。我已经更改了数组,因此它看起来像这样:
Array
(
[0] => Array
(
[0] => Y:
)
[1] => Array
(
[0] => A1
)
[2] => Array
(
[0] => 10_ColdForging
[1] => 99_MusterOrdner
)
[3] => Array
(
[0] => 01_Administration
)
)
然后我从这里使用了这个函数,它可以工作。只是有一个小问题,子文件夹未正确列出。它列在"99_MusterOrder"中,但它应该在"10_ColdForging"中。我将修改数组或函数来解决这个问题。
编辑:
找到了一个非常好的脚本,它可以转换我需要的数组:这里
我将其与上面的脚本相结合,它就像一个魅力。
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
)
)
)
)