怎么使用php递归实现无限级分类

58次阅读
没有评论

共计 924 个字符,预计需要花费 3 分钟才能阅读完成。

使用 PHP 递归实现无限级分类的步骤如下:

  1. 创建一个数组或从 数据库 中获取分类数据,包含 id 和 parent_id 字段,表示分类的唯一标识和父级分类的标识。
  2. 创建一个递归函数,接受两个参数:分类数据和父级分类的 id。
  3. 在递归函数中,遍历分类数据,找到父级分类 id 等于当前传入的父级 id 的分类。
  4. 在遍历过程中,将找到的分类添加到一个新的数组中,并调用递归函数传入当前找到的分类 id 作为父级 id。
  5. 递归函数将会一直执行直到找不到符合条件的分类,然后返回最终的分类数组。

下面是一个示例代码:

function buildTree($categories, $parent_id = 0) {$tree = array();
foreach ($categories as $category) {if ($category['parent_id'] == $parent_id) {$children = buildTree($categories, $category['id']);
if ($children) {$category['children'] = $children;
}
$tree[] = $category;}
}
return $tree;
}
// 示例数据
$categories = array(array('id' => 1, 'parent_id' => 0, 'name' => '分类 1'),
array('id' => 2, 'parent_id' => 0, 'name' => '分类 2'),
array('id' => 3, 'parent_id' => 1, 'name' => '分类 1 -1'),
array('id' => 4, 'parent_id' => 1, 'name' => '分类 1 -2'),
array('id' => 5, 'parent_id' => 3, 'name' => '分类 1 -1-1'),
array('id' => 6, 'parent_id' => 2, 'name' => '分类 2 -1'),
array('id' => 7, 'parent_id' => 0, 'name' => '分类 3'),
);
$result = buildTree($categories);
print_r($result);

运行以上代码将输出递归生成的分类树形结构数组。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计924字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)