从数据库结果构造多维数组的递归函数
问题:
您寻求一个递归函数能够从扁平数据库结果转换页面和类别数组到具有结构化层次关系的嵌套数组中。
解决方案:
提供的解决方案提供了一种简单且通用的方法:
function buildTree(array $elements, $parentId = 0) { $branch = array(); foreach ($elements as $element) { if ($element['parent_id'] == $parentId) { $children = buildTree($elements, $element['id']); if ($children) { $element['children'] = $children; } $branch[] = $element; } } return $branch; }
解释:
算法的运行方式为如下所示:
初始执行(ParentId = 0):
递归执行(ParentId != 0):
构建层次结构:
返回结果:
通过将此函数应用于数据库结果,您将获得一个有组织的具有细粒度层次关系的数组,如您所需的输出所示。这种方法用途广泛,可以应用于页面和类别。
以上是如何从平面数据库结果递归构建多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!