PHP中實用無限級分類

2021-08-19 11:06:48 字數 1880 閱讀 4193

在我們工作中,無限級分類應用非常多,其實其思想並不難,無非運用遞迴思想自己呼叫自己罷了。下面就來看看我寫的無限級分類函式:

header("content-type:text/html;charset=utf-8");

//測試陣列

$arr=array

( array('id'=>2,'name'=>'分類2','parent_id'=>1),

array('id'=>9,'name'=>'分類9','parent_id'=>8),

array('id'=>1,'name'=>'分類1','parent_id'=>0),

array('id'=>7,'name'=>'分類7','parent_id'=>0),

array('id'=>3,'name'=>'分類3','parent_id'=>2),

array('id'=>4,'name'=>'分類4','parent_id'=>0),

array('id'=>6,'name'=>'分類6','parent_id'=>5),

array('id'=>8,'name'=>'分類8','parent_id'=>7),

array('id'=>5,'name'=>'分類5','parent_id'=>4)

);/**

* 已知子類id 得到父類樹形結構

* @param [type] $data [要查詢的陣列]

* @param [type] $id [子類id]

* @param integer $level [縮排係數]

* @param boolean $isclear [呼叫時為true,多次呼叫不相互疊加]

* @return [type] [返回結果樹形結構]

*/function getparent($data, $id, $level = 0, $is_clear = false)

foreach ($data as $k => $v) }}

$rec = array_reverse($_rec);

for ($i=0; $i$v)

}return $rec;

}/**

* 已知父類id,得到子類id樹形結構;區別在於$row=$v['id'],只賦值id;

* getparent(),可改寫成getparentid();

* @param [type] $data [description]

* @param [type] $id [description]

* @param boolean $col [description]

* @return [type] [description]

*/ function getchildsid($data,$id,$col=false)

}return $row;

}/** * 已知父類id,得到樹形結構;

* 結合getparent(),若不彈出自己,即已知子類id,得到樹形結構

* @param [type] $data [description]

* @param [type] $parent_id [description]

* @param integer $level [description]

* @param boolean $col [description]

* @return [type] [description]

*/function tree($data,$parent_id,$level=0,$col=false)

}return $res;

}

PHP無限級分類

建表sql如下 create table ifnot exists deepcate id int 4 notnull pid int 11 notnull catename varchar 30 not null cateorder int 11 unsigned notnull default ...

PHP 無限級分類 遞迴

arr array array id 1,name 電腦 pid 0 array id 2,name 手機 pid 0 array id 3,name 筆記本 pid 1 array id 4,name 台式電腦 pid 1 array id 5,name 智慧型機 pid 2 array id 6...

PHP遞迴實現無限級分類

在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴演算法並結合mysql資料表實現無限級分類。在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴...