PHP前端开发

PHP无限极分类:如何用递归算法实现父子级分类的遍历与展示?

百变鹏仔 2天前 #PHP
文章标签 递归

无限极分类的php代码及思路

要实现无限极分类,需要一个算法,其中最常用的就是递归算法。

思路:

  1. 创建一个包含分类数据的数组,包含父级 id 和子级 id。
  2. 定义一个递归函数,依次遍历每一级分类。
  3. 在递归过程中,根据父级 id 获取所有子级分类。
  4. 将子级分类添加到数组并调用递归函数继续遍历。

php代码:

立即学习“PHP免费学习笔记(深入)”;

<?php// 分类数据$data = [    [        'id' => 1,        'parent_id' => 0,    ],    [        'id' => 2,        'parent_id' => 1,    ],    [        'id' => 3,        'parent_id' => 1,    ],    [        'id' => 4,        'parent_id' => 2,    ],];// 递归函数function getCategories($data, $parent_id){    $categories = [];    foreach ($data as $item) {        if ($item['parent_id'] == $parent_id) {            $categories[] = $item;            $categories = array_merge($categories, getCategories($data, $item['id']));        }    }    return $categories;}// 获取顶级分类$topCategories = getCategories($data, 0);// 输出分类结构foreach ($topCategories as $topCategory) {    echo $topCategory['id'] . ': ' . $topCategory['parent_id'] . '<br>';    foreach (getCategories($data, $topCategory['id']) as $childCategory) {        echo '    ' . $childCategory['id'] . ': ' . $childCategory['parent_id'] . '<br>';    }}?>

注意:

在前端展示分类时,我们需要根据需要将数据重新组织成所需的格式。