【发布时间】:2014-02-19 14:17:59
【问题描述】:
我想知道如何编写将任意大小的平面数组转换为分层树的方法(查看示例)。谁能建议一种方法来做到这一点?另外,这是否可以在不使用大量资源的情况下完成?
这是我的例子:
平面阵列:
$categories = array(
array(
'id' => 1,
'sub' => 0
),
array(
'id' => 2,
'sub' => 1
),
array(
'id' => 3,
'sub' => 1
),
array(
'id' => 4,
'sub' => 2
),
array(
'id' => 5,
'sub' => 2
),
array(
'id' => 6,
'sub' => 4
),
array(
'id' => 7,
'sub' => 0
)
);
层次树:
$categories = array(
array(
'id' => 1,
'sub' => 0,
'children' => array(
array(
'id' => 2,
'sub' => 1,
'children' => array(
array(
'id' => 4,
'sub' => 2,
'children' => array(
array(
'id' => 6,
'sub' => 4,
'children' => array()
)
)
),
array(
'id' => 5,
'sub' => 2,
'children' => array()
)
)
),
array(
'id' => 3,
'sub' => 1,
'children' => array()
),
)
),
array(
'id' => 7,
'sub' => 0,
'children' => array()
)
);
【问题讨论】: