简体   繁体   English

从PHP中的direcory数组树获取目录路径

[英]Get directory path from direcory array tree in PHP

I have troubles with this task. 我在完成这项任务时遇到了麻烦。 Im new in PHP. 我是PHP新手。 I think i must user recursive funcruion, but i do not understand how it use 我认为我必须使用用户递归函数,但是我不明白它的用法

I have an array like this: 我有一个像这样的数组:

Array
(
    [0] => Array
        (
            [id] => 1
            [parent_id] => 0
            [name] => New Folder
        )
    [1] => Array (
            [id] => 2
            [parent_id] => 1
            [name] => New Folder2
        )
    [2] => Array
        (
            [id] => 3
            [parent_id] => 2
            [name] => New Folder3
        )
    ......
    [5] => Array
        (
            [id] => 6
            [parent_id] => 0
            [name] => New Folder6
        )
    [6] => Array (
            [id] => 7
            [parent_id] => 6
            [name] => New Folder7
        )
    [7] => Array
        (
            [id] => 8
            [parent_id] => 6
            [name] => New Folder8
        )
)

I need to build direcory's path like this: 我需要像这样构建可怕的道路:

/New Folder
/New Folder/New Folder2
/New Folder/New Folder2/New Folder3
...
/New Folder6
/New Folder6/New Folder7
/New Folder6/New Folder8

Can you help me whith this task? 您能帮我完成这项任务吗? Thx. 谢谢。

$txtTree[0]="/";

foreach($treeArray as $branch){

    if(isset($txtTree[$branch['parent_id']])) {
        $txtTree[$branch['id']] = $txtTree[$branch['parent_id']] . $branch['name']. "/";
    }
} 

print_r($txtTree);


Array
(
    [0] => /
    [1] => /New Folder/
    [2] => /New Folder/New Folder2/
    [3] => /New Folder/New Folder2/New Folder3/
    [6] => /New Folder6/
    [7] => /New Folder6/New Folder7/
    [8] => /New Folder6/New Folder8/
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM