首頁  >  文章  >  後端開發  >  php的無限極分類怎麼實現?

php的無限極分類怎麼實現?

韦小宝
韦小宝原創
2017-11-15 16:30:241490瀏覽

每一個無限分類都需要記錄它的父級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遞迴函數的呼叫講解

以上是php的無限極分類怎麼實現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn