用遞迴得到欄目的陣列

2022-02-07 19:28:46 字數 3718 閱讀 2199

欄目組的資訊結構如上表,pid表示父節點的id

static

public

function tolayer($cate,$name='child',$pid=0)

}return

$arr

;}

其中$cate為查詢表得到的關聯陣列,得到的結果陣列如下:

array

([0] => array

([id] => 1

[name] => 常規管理

[pid] => 0

[module] =>

[action] =>

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 1

[child] => array

([0] => array

([id] => 5

[name] => 欄目管理

[pid] => 1

[module] =>

[action] =>

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 11

[child] => array

([0] => array

([id] => 8

[name] => 欄目管理

[pid] => 5

[module] => category

[action] => index

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 111

[child] => array()

)))[1] => array

([id] => 6

[name] => 內容管理

[pid] => 1

[module] =>

[action] =>

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 12

[child] => array()

)[2] => array

([id] => 7

[name] => 快捷面板

[pid] => 1

[module] =>

[action] =>

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 13

[child] => array()

)))[1] => array

([id] => 2

[name] => 模組管理

[pid] => 0

[module] =>

[action] =>

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 2

[child] => array

([0] => array

([id] => 9

[name] => 內建模組

[pid] => 2

[module] =>

[action] =>

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 21

[child] => array

([0] => array

([id] => 10

[name] => 自由塊管理

[pid] => 9

[module] => block

[action] => index

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 211

[child] => array()

)[1] => array

([id] => 11

[name] => 廣告管理

[pid] => 9

[module] => abc

[action] => index

[parameter] =>

[quick] => 1

[status] => 1

[sort] => 212

[child] => array()

)[2] => array

([id] => 12

[name] => 專題管理

[pid] => 9

[module] => special

[action] => index

[parameter] =>

[quick] => 0

[status] => 1

[sort] => 213

[child] => array()

)[3] => array

([id] => 13

[name] => 公告管理

[pid] => 9

[module] => announce

[action] => index

[parameter] =>

[quick] => 1

[status] => 1

[sort] => 214

[child] => array()

)[4] => array

([id] => 14

[pid] => 9

[module] => link

[action] => index

[parameter] =>

[quick] => 1

[status] => 1

[sort] => 215

[child] => array()

)[5] => array

([id] => 15

[pid] => 9

[module] => guestbook

[action] => index

[parameter] =>

[quick] => 1

[status] => 1

[sort] => 216

[child] => array()

)[6] => array

([id] => 16

[pid] => 9

[module] => comment

[action] => index

[parameter] =>

[quick] => 1

[status] => 1

[sort] => 217

[child] => array()

)))[1] => array

([id] => 44

[name] => 其他模組

[pid] => 2

[module] =>

[action] =>

[parameter] =>

[quick] => 0

[status] => 1

用遞迴判斷陣列是否遞增

參考 注意 該方法巧妙的利用了,陣列的長度。遞迴傳參時縮小陣列的長度即改變了下標 include void judge int a,int n if n 1 if a n 1 a n 2 int main int len sizeof a sizeof a 0 judge a,len return0...

js用遞迴改寫多重陣列

後台給返回的資料是這樣的 現在想得到這樣的資料 而且後台給的陣列中並不確定是幾層的,所以這裡必須用到遞迴函式。用了下面的 let routerarr json.parse json.stringify value function formatroutes routerarr routerarr.f...

用遞迴的方式得到乙個站點的全部鏈結

我的小蛛蛛還在慢慢的爬行著 今天遇到的問題是什麼呢?今天的問題是 想把這個站點的全部鏈結讀出的string 寫到檔案中去 用什麼方式呢?當然是遞迴!這個貌似別無選擇。對 的解釋 所以我們有了乙個引數 listnotbuidingfilekey 這個引數就是為了解決這個問題的。判斷這個檔案是不是存在的...