为了账号安全,请及时绑定邮箱和手机立即绑定

从数据库结果生成多维数组的递归函数

从数据库结果生成多维数组的递归函数

PHP
慕盖茨4494581 2019-06-28 16:41:25
从数据库结果生成多维数组的递归函数我希望编写一个函数,它接受一个页面/类别数组(从一个平面的数据库结果),并根据父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 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

可以使用php将MySQL结果输入数组,然后使用它。

$categoryArr = Array();while($categoryRow = mysql_fetch_array($category_query_result)){
    $categoryArr[] = array('parentid'=>$categoryRow['parent_id'],
            'id'=>$categoryRow['id']);
   }


查看完整回答
反对 回复 2019-06-28
  • 3 回答
  • 0 关注
  • 607 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信