推 JYHuang :Thanks 07/07 13:06
※ 編輯: arrack 來自: 61.56.213.47 (07/07 13:22)
※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言:
: 主要是用來輸出一個多層的選單
: Catalog-1
: class a
: 1.abc
: 2.def
: class b
: Catalog-2
: class c
: 我是宣告個四維陣列再用雙層的foreach去輸出
: Menu[Catalog1]['name']
: Menu[Catalog1]['options'][classa]['name']
: Menu[Catalog1]['options'][classa][lists]['name']
: Menu[Catalog1]['options'][classa][lists]['data']
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.56.213.47
如果是我,我會這樣處理,每個選項都有一個id,然後pid就是指父層的ID
名稱跟資料分開放。PID=0就是第一層
EX:
Menu_Name['pid']['id']
Menu_Data['pid']['id']
依你的例子來看,就是
Menu_Name[0][1]="Catalog-1"
Menu_Name[1][11]="classa"
Menu_Name[11][111]="1.abc"
Menu_Name[11][112]="2.def"
Menu_Name[1][12]="classb"
Menu_Name[0][2]="Catalog-2"
Menu_Name[2][21]="classc"
這樣一來不管幾層都輕鬆處理
看你來是要迴圈輸出還是要用遞迴都可以
不過要確保ID不重複就是了
僅供參考