天天看點

去年網上baidu題目的解答,不要指望會了就進百度了哦

    按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', 

   );

我對應處理