【发布时间】:2014-07-16 17:20:06
【问题描述】:
如何在 livecode 中将这样的数组转换为多维数组? 我有大约 20 个具有嵌套类别的顶级类别,如下所述。 嵌套深度可达 6 层。
作为数据库查询结果的起始数组
Array
(
[1] => Array
(
[id] => 10
[parent_id] => 0
[name] => Hitachi
)
[2] => Array
(
[id] => 15
[parent_id] => 0
[name] => Milwaukee
)
[3] => Array
(
[id] => 20
[parent_id] => 0
[name] => Thoshiba
)
[4] => Array
(
[id] => 31
[parent_id] => 10
[name] => tools
)
[5] => Array
(
[id] => 32
[parent_id] => 10
[name] => Spareparts Hitachi
)
[6] => Array
(
[id] => 35
[parent_id] => 32
[name] => electric parts
)
[7] => Array
(
[id] => 37_
[parent_id] => 32
[name] => hydraulic Parts
)
[8] => Array
(
[id] => 40_
[parent_id] => 32
[name] => other Parts
)
[9] => Array
(
[id] => 43_
[parent_id] => 32
[name] => more Parts
)
[10] => Array
(
[id] => 45_
[parent_id] => 15
[name] => Spareparts Milwaukee
)
........
)
我的目标是得到一个这样的嵌套数组:
Array
(
[1] => Array
(
[id] => 10
[parent_id] => 0
[name] => Hitachi
[children] => Array
(
[id] => 31
[parent_id] => 10
[name] => tools
)
(
[id] => 32
[parent_id] => 10
[name] => Spareparts Hitachi
[children] => Array
(
[id] => 35
[parent_id] => 32
[name] => electric parts
)
(
[id] => 37_
[parent_id] => 32
[name] => hydraulic Parts
)
(
[id] => 40_
[parent_id] => 32
[name] => other Parts
)
)
[2] => Array
(
[id] => 15
[parent_id] => 0
[name] => Milwaukee
[children] =>
(
[id] => 45_
[parent_id] => 15
[name] => Spareparts Milwaukee
)
)
[3] => Array
(
[id] => 20
[parent_id] => 0
[name] => Thoshiba
)
)
最终结果应该是构建一个在线商店中的类别树,以选择嵌套类别并显示所选猫的产品。 为了构建树,我想使用来自 tapirsoft 的 rtree。
【问题讨论】: