创建显示多个文件夹路径的树


Create tree which displays multiple folder paths

我有一个带有一些文件夹路径的多维数组。在这个数组中,我应该构建一棵树。类似于在命令提示符下使用"树"时的情况。对不起,我的英语不好,我的知识很少,我仍然是一名学生。

多维数组:

 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
                    )
            )
    )
)