【发布时间】:2017-04-19 17:16:31
【问题描述】:
我绞尽脑汁试图将一个多维关联数组转换为一个多维非关联数组,结果我决定寻求帮助..
整个故事:
A.我有一组 URL 及其 KPI(具有任意文件夹深度):
网址、访问次数
- www.example.com
- www.example.com/resource1, 100
- www.example.com/folderA/resource2, 200
- www.example.com/folderA/resource3, 300
- www.example.com/folderB/resource4, 400
B.在 StackOverflow 的帮助下(以及令人惊讶的几行 PHP -> 请参阅 here),我能够将其转换为分层数组,将 URL 结构表示为文件夹:
Array
(
[www.example.com] => Array
(
[folderA] => Array
(
[resource2] => Array
(
[visits] => 200
)
[resource3] => Array
(
[visits] => 300
)
)
[folderB] => Array
(
[resource4] => Array
(
[visits] => 400
)
)
[resource1] => Array
(
[visits] => 100
)
)
)
C.但是,现在我需要将此数组放入以下结构(子数组必须是非关联数组),这对我来说是一个真正的脑筋急转弯......
Array
(
[name] => www.example.com
[isFolder] => 1
[children] => Array
(
[0] => Array
(
[name] => folderA
[isFolder] => 1
[children] => Array
(
[0] => Array
(
[name] => resource2
[isFolder] => 0
[kpis] => Array
(
[visits] => 200
)
[children] => Array
(
)
)
[1] => Array
(
[name] => resource3
[isFolder] => 0
[kpis] => Array
(
[visits] => 300
)
[children] => Array
(
)
)
)
)
[1] => Array
(
[name] => folderB
[isFolder] => 1
[children] => Array
(
[0] => Array
(
[name] => resource4
[isFolder] => 0
[kpis] => Array
(
[visits] => 400
)
[children] => Array
(
)
)
)
)
[2] => Array
(
[name] => resource1
[isFolder] => 0
[kpis] => Array
(
[visits] => 100
)
[children] => Array
(
)
)
)
)
任何人都可以提供如何实现这一目标的方法吗?通过转换步骤 B 中的数组或从头开始使用步骤 A 中的原始 URL ... 非常感谢任何帮助! 非常感谢!
【问题讨论】: