php遞迴實現無限極分類

2022-09-04 19:18:08 字數 2484 閱讀 3151

一、陣列

$categories = array(

array('id'=>1,'name'=>'陝西','parent_id'=>0),

array('id'=>2,'name'=>'西安','parent_id'=>1),

array('id'=>3,'name'=>'長安區','parent_id'=>2),

array('id'=>4,'name'=>'河南','parent_id'=>0),

array('id'=>5,'name'=>'鄭州','parent_id'=>4),

array('id'=>6,'name'=>'河北','parent_id'=>0),

array('id'=>7,'name'=>'石家莊','parent_id'=>6),

array('id'=>8,'name'=>'新華區','parent_id'=>7));

二、遞迴實現無限極分類

//1、遞迴實現無限極分類

function gettree($array, $pid = 0, $level = 1)

}return $list;

}//2、遞迴實現無限極分類陣列層級縮排轉換 注意:帶level深度的

function gettree2($array, $pid = 0, $level = 1)

}return $list;

}

三、效果

1、遞迴方式

array

( [1] => array

([id] => 1

[name] => 陝西

[parent_id] => 0

[node] => array

([0] => array

([id] => 2

[name] => 西安

[parent_id] => 1

[node] => array

([0] => array

([id] => 3

[name] => 長安區

[parent_id] => 2))

))

)[4] => array

([id] => 4

[name] => 河南

[parent_id] => 0

[node] => array

([0] => array

([id] => 5

[name] => 鄭州

[parent_id] => 4))

)[6] => array

([id] => 6

[name] => 河北

[parent_id] => 0

[node] => array

([0] => array

([id] => 7

[name] => 石家莊

[parent_id] => 6

[node] => array

([0] => array

([id] => 8

[name] => 新華區

[parent_id] => 7))

))

))

2、陣列層級縮排 帶level深度的
array

( [0] => array

([id] => 1

[name] => 陝西

[parent_id] => 0

[level] => 1

)[1] => array

([id] => 2

[name] => 西安

[parent_id] => 1

[level] => 2

)[2] => array

([id] => 3

[name] => 長安區

[parent_id] => 2

[level] => 3

)[3] => array

([id] => 4

[name] => 河南

[parent_id] => 0

[level] => 1

)[4] => array

([id] => 5

[name] => 鄭州

[parent_id] => 4

[level] => 2

)[5] => array

([id] => 6

[name] => 河北

[parent_id] => 0

[level] => 1

)[6] => array

([id] => 7

[name] => 石家莊

[parent_id] => 6

[level] => 2

)[7] => array

([id] => 8

[name] => 新華區

[parent_id] => 7

[level] => 3

))

php實現無限極分類

利用兩個for迴圈實現無限級分類 表 欄位名字段型別 備註預設值 idint 主鍵 auto increment name varchar 分類名稱 pidint 父類id0 頂級分類的 pid 預設就是0了。當我們想取出某個分類的子分類樹的時候,基本思路就是遞迴,當然,出於效率問題不建議每次遞迴都...

PHP實現無限極分類

created by epp4.user t470 date 15 08 08 time 上午12 00 準備陣列,代替從資料庫中檢索出的資料 共有三個必須欄位id,name,pid header content type text html charset utf 8 categories arr...

php實現無限極分類

最近在負責報表自動化管理的小功能,想從工作內容中整理點東西形成部落格。但是過程中發現,這功能並沒有 實現上的難點。基本上值得說的地方,也就定時任務的合理設計,而定時任務之前有相關的博文。再有就是,開發思路和資料庫合理的設計。這部分也不好形成文章。但是好久沒有寫部落格,希望能堅持下來。想起之前寫過幾個...