Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php的无限极分类怎么实现?

php的无限极分类怎么实现?

韦小宝
韦小宝asal
2017-11-15 16:30:241506semak imbas

每一个无限分类都需要记录它的父级id,当为顶级分类时,父级id为0.这样无论哪个分类都可以通过父级id一层 层的去查明它所有的父级,以便清楚知道它所属哪种分类,层级深度为多少,无限分类在实际开发中非常常用,无限分类在面试中也会常被问到

include PHP
/*
使用的是三种递归中的一种 &
/*
include('Catecontroller.php');//引入连接数据库文件

function getList($pid = 0, &$result = array(), $spac = 0)
{
    $spac = $spac + 2;//标题前空格重复的次数
    $sql = "SELECT * FROM cate WHERE pid= $pid";//根据父id查找数据
    $res = mysql_query($sql);//发送sql语句

    while ($row = mysql_fetch_assoc($res)) {//判断$row里的值是否为空然后再循环
        $row['cate_name'] = str_repeat(' ',$spac).'|--'.$row['cate_name']; //str_repeat 重复括号里的字符串,后面跟的是次数
        $result[] = $row;//把数组赋给 $result
        getList($row['id'],$result,$spac);//递归调用,自己调用自己 这个括号里的参数和上面getList($pid=0...)是一样的$row['id']==$pid=0;
    }
    return $result;//把结果返回出去
}

$rs = getList();//使用方法

var_dump($rs);//打印方法结果

以上无限分类用的是递归算法,递归算法简单的解释就是自己调用自己。

相关推荐:

php无限分类树[支持子分类排序]

php递归遍历多维数组的方法

php递归函数的调用讲解

Atas ialah kandungan terperinci php的无限极分类怎么实现?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP正则表达式合集Artikel seterusnya:PHP自定义错误处理