按http://developer.51cto.com/art/201103/252703.htm的要求實作了效果,但圖示沒有實作,css也沒實作,還有标題所說的要麼是餓搞要麼是已經過期了,不要指望能做出來就有工作了,我也是順便拿來練手,保持對代碼的熱度!
我之是以實作這個功能,是一定程度上能衡量php開發的水準,需要一定的功力.我針對難點,采用了兩個key value形式的數組去應對所需要的操作,這移置到memcache等緩存系統上也很友善.
功能是實作一個分類的折疊和打開,用于顯示商品或者其它資訊的分類. 該分類的每一項可以折疊和收起(展開和收縮, 如果有子分類的話). 分類的級數不固定.
原始資料為數組
$cats = array(
array(
'id' => 1,
'name' => '電子遊戲',
'children' => array(
array(
'id' => 3,
'name' => '競技遊戲1',
'children' => null,
),
array(
'id' => 5,
'name' => '競技遊戲2',
),
array(
'id' => 7,
'name' => '競技遊戲3',
),
),
'id' => 2,
'name' => '學術和教育',
'id' => 4,
'name' => '自然科學',
'id' => 6,
'name' => '人文社科',
'id' => 8,
'name' => '期刊會議',
'id' => 9,
'name' => '高校名稱',
'children' => array(
array(
'id' => 14,
'name' => '中國大學',
'children' => null,
),
'id' => 16,
'name' => '國際大學',
),
),
),
array(
'id' => 10,
'name' => '生活',
'id' => 12,
'name' => '生活1',
);
我對應處理