【发布时间】:2021-09-09 14:16:48
【问题描述】:
我有一个表示目录结构的多维关联数组。结构信息是从带有parent_ids 的数据库中提取的,以指示层次结构。
我已经成功地从数据库中获取了行并排序到一个类似这样的数组中:
Array
(
[1] => Array
(
[fold_id] => 1
[fold_name] => Preliminary
[seq] => 1
[parent_id] => 0
[generation] => 1
[ext_name] => 1 Preliminary
[children] => Array
(
[9] => Array
(
[fold_id] => 9
[fold_name] => Programming
[seq] => 3
[parent_id] => 1
[generation] => 2
[ext_name] => 1.3 Programming
[children] => Array
(
[10] => Array
(
[fold_id] => 10
[fold_name] => Feasibility Study
[seq] =>
[parent_id] => 9
[generation] => 3
[ext_name] => Feasibility Study
)
[11] => Array
(
[fold_id] => 11
[fold_name] => Field Investigation
[seq] =>
[parent_id] => 9
[generation] => 3
[ext_name] => Field Investigation
)
)
)
)
)
[2] => Array
(
[fold_id] => 2
[fold_name] => Construction Documents
[seq] => 2
[parent_id] => 0
[generation] => 1
[ext_name] => 2 Construction Documents
[children] => Array
(
[12] => Array
(
[fold_id] => 12
[fold_name] => Code
[seq] => 1
[parent_id] => 2
[generation] => 2
[ext_name] => 2.1 Code
)
[13] => Array
(
[fold_id] => 13
[fold_name] => Drawing
[seq] => 2
[parent_id] => 2
[generation] => 2
[ext_name] => 2.2 Drawing
[children] => Array
(
[17] => Array
(
[fold_id] => 17
[fold_name] => Families
[seq] =>
[parent_id] => 13
[generation] => 3
[ext_name] => Families
)
)
)
[14] => Array
(
[fold_id] => 14
[fold_name] => Specs
[seq] => 3
[parent_id] => 2
[generation] => 2
[ext_name] => 2.3 Specs
[children] => Array
(
[19] => Array
(
[fold_id] => 19
[fold_name] => Cut Sheets
[seq] =>
[parent_id] => 14
[generation] => 3
[ext_name] => Cut Sheets
)
[20] => Array
(
[fold_id] => 20
[fold_name] => Front-End Documents
[seq] =>
[parent_id] => 14
[generation] => 3
[ext_name] => Front-End Documents
)
)
)
)
)
)
每个子数组中的ext_name 键是实际的文件夹名称。我需要做的是获取这个数组并使用mkdir() 从中创建一个实际的目录结构。
我已经通过为每个嵌套代硬编码一个 foreach 循环来做到这一点,但我想以某种方式做到这一点,允许结构更改而无需更新我的代码,以适应更多代,例如。
你们中的任何 php 大师有更优雅的解决方案吗?
谢谢!!! 马特
【问题讨论】:
标签: php arrays loops directory mkdir