【发布时间】:2012-02-06 05:48:56
【问题描述】:
我有这个数据(列是深度、名称、值,顺序正确):
0, id, 12
0, name, Name
0, pages,
1, 0, Page 1
1, 1, Page 2
1, 2, Page 3
0, items,
1, 0,
2, id, 4
2, title, Example Items
我正在尝试从中生成这样的数组结构:
Array
(
[id] => 12
[name] => Name
[pages] => Array
(
[0] => Page 1
[1] => Page 1
[2] => Page 1
)
[items] => Array
(
[0] => Array
(
[id] => 4
[title] => Example Item
)
)
)
到目前为止,我尝试过的每一次尝试都失败了,我似乎无法理解逻辑。任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
这是 csv 还是数据来自哪里?
-
除非您添加列
parent,否则我认为您无法知道Page 1是Pages的子代,但无法保证顺序(除非还有顺序列)你没有提到)。您可能想查看Binary Trees,它具有定义明确的算法来帮助处理此类情况(并允许您将多维数据存储在单个表中) -
抱歉,我要澄清一下,顺序是固定且正确的,因此可以计算出完整的层次结构。
标签: php recursion multidimensional-array