php無限極分類

2022-09-03 22:15:19 字數 1264 閱讀 6272

這裡首先介紹一下,什麼是無限極分類?

無限極分類簡單點說就是乙個類可以分成多個子類,然後乙個子類又可以分另外多個子類這樣無限分下去,就好象windows可以新建乙個資料夾,然後在這個資料夾裡又可以建一些個資料夾,在資料夾底下還可以建一些資料夾一樣

那php又是如何實現它的無限分類的呢?如何把它的各個分類一一列出來呢?

首先,我們來假設有這樣乙個陣列

$arr = array

( 0=>array

( 'cid'=>1,

'pid'=>0,

'name'=>'亞洲',),

1=>array

( 'cid'=>2,

'pid'=>0,

'name'=>'北美洲',),

2=>array

( 'cid'=>3,

'pid'=>1,

'name'=>'中國',),

3=>array

( 'cid'=>4,

'pid'=>2,

'name'=>'美國',),

4=>array

( 'cid'=>5,

'pid'=>3,

'name'=>'北京',),

5=>array

( 'cid'=>6,

'pid'=>3,

'name'=>'河北',),

6=>array

( 'cid'=>7,

'pid'=>5,

'name'=>'東城區',),

7=>array

( 'cid'=>8,

'pid'=>5,

'name'=>'海淀區',),);

我們這裡需要乙個類似這樣的展示效果如圖

如果我們要想將這個陣列如上圖般很直觀的表現出來的話就需要用php的遞迴來實現,那麼怎麼實現呢?看下面的核心**

private

function gettree($arr,$pid,$step

) }

return

$tree

;}

然後我們只需要寫乙個呼叫的**就好

$newarr = $this->gettree($arr, 0, 0);
這樣看上去是不是很簡單?

php無限極分類

無限級分類 param1 array categories,要分類的陣列 param2 int stop id 不需要查詢子分類的id param3 int parent id 0,要查詢父分類id 欄位名稱 param4 int level 0,當前商品分類所屬的層級 根據level計算縮排的距離...

PHP無限極分類

function gentree5 items function gentree7 items items array 1 array id 1,pid 0,name 江西省 2 array id 2,pid 0,name 黑龍江省 3 array id 3,pid 1,name 南昌市 4 arr...

PHP無限極分類

無限極分類.html 本文部落格部分內容是上述網上內容搬運過來的。無限極分類在web 中應用很多,比如無限極選單,無限極資料夾展開。因為最近的專案中有用到樹的結構,其實就是無限極選單的儲存。在某次面試中也有提及,所以這裡集合上述網上的資料總結一下。使用場景 1 需要獲取所有的節點,也就是無限極選單的...