1

我有一个带有一些文件夹路径的多维数组。在这个数组中,我应该构建一棵树。类似于在命令提示符中使用“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 的东西,但他们都想列出整个目录。
像这样的东西将是完美的。但我不明白它是如何工作的,没有文档。

4

2 回答 2

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
于 2013-10-30T14:19:01.593 回答
0

好的,我解决了这个问题。我已经更改了数组,所以它看起来像这样:

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
                    )

            )

    )

)
于 2013-10-31T08:38:03.217 回答