从数据库结果生成多维数组的递归函数我希望编写一个函数,它接受一个页面/类别数组(从一个平面的数据库结果),并根据父ID生成一个嵌套的页面/类别项数组。我想递归地这样做,这样就可以完成任何级别的嵌套。例如:我在一个查询中获取所有页面,这就是数据库表的样子+-------+---------------+---------------------------+| id | parent_id | title |+-------+---------------+---------------------------+| 1 | 0 | Parent Page || 2 | 1 | Sub Page || 3 | 2 | Sub Sub Page || 4 | 0 | Another Parent Page |+-------+---------------+---------------------------+这就是我希望在视图文件中处理的数组:Array(
[0] => Array
(
[id] => 1
[parent_id] => 0
[title] => Parent Page
[children] => Array
(
[0] => Array
(
[id] => 2
[parent_id] => 1
[title] => Sub Page
[children] => Array
(
[0] => Array
(
[id] => 3
[parent_id] => 1
[title] => Sub Sub Page
)
)
)
)
)
[1] => Array
(
[id] => 4
[parent_id] => 0
[title] => Another Parent Page
))我已经看过并尝试过我所遇到的几乎每一个解决方案(这里有很多这样的解决方案在堆栈溢出中,但是没有找到足够通用的方法,可以同时适用于页面和类别。这是我得到的最接近的,但它不起作用,因为我把孩子分配给第一级父母。
3 回答
![?](http://img1.sycdn.imooc.com/5f33c0c90001f9ad05720572-100-100.jpg)
白衣非少年
TA贡献1155条经验 获得超0个赞
$categoryArr = Array();while($categoryRow = mysql_fetch_array($category_query_result)){ $categoryArr[] = array('parentid'=>$categoryRow['parent_id'], 'id'=>$categoryRow['id']); }
- 3 回答
- 0 关注
- 607 浏览
添加回答
举报
0/150
提交
取消