1. 程式人生 > >使用一個迴圈處理分類資料成樹狀結構

使用一個迴圈處理分類資料成樹狀結構

    /**
     * 獲取地址列表
     */
    function getRegions(){
//        $s=microtime(TRUE);
        $data=S('regions');
        if(empty($data)){
            $result=M('Region')->field('id,region_name,parent_id,region_type')->where(['status'=>1,'region_type'=>['exp','>1']])->select();
            $data_l=[];
            $data=[
                'title'=>'中國 China',
                'list'=>&$data_l
            ];
            foreach ($result as $val){
                if($val['region_type']==3){
                    $name='data_ll'.$val['parent_id'];
                    array_push($$name,$val['region_name']);
                }
                if($val['region_type']==2){
                    $name='data_ll'.$val['id'];
                    if(!isset($$name)){
                        $$name=[];
                    }
                    $data_l[]=[
                        'title'=>$val['region_name'],
                        'list'=>&$$name
                    ];
                }
            }
            // 快取資料300秒
            S('regions',$data,300);
        }
//        $e=microtime(TRUE);
//        echo ($e-$s)*1000,'毫秒';
//        exit;
        api_response('success', '地區列表',$data);
    }