zoukankan      html  css  js  c++  java
  • 无限极分类,子集跟着父集排列,用于后台显示菜单管理

    在Home模块下建一个Clas文件夹,里面建一个Cate.class.php类文件,类文件代码:

    <?php 
    namespace HomeClas;
    class Cate{
        static public function unlimitedForLevel($data,$html='|__',$pid=0,$level=0){
            $arr=array();
            foreach ($data as $v) {
                if ($v['pid']==$pid) {
                    $v['level']=$level+1;
                    $v['html']=str_repeat($html, $level);
                    $arr[]=$v;
                    $arr=array_merge($arr,self::unlimitedForLevel($data,$html,$v['id'],$level+1));
                }
            }
            return $arr;
        }
    }
    
     ?>

    php代码如下:

    <?php
    namespace HomeController;
    use ThinkController;
    use HomeClasCate;
    class IndexController extends Controller {
        public function index(){
            $data=array(
                    '0'=>array(
                            'id'=>1,
                            'pid'=>0
                        ),
                    '1'=>array(
                            'id'=>2,
                            'pid'=>0
                        ),
                    '2'=>array(
                            'id'=>3,
                            'pid'=>1
                        ),
                    '3'=>array(
                            'id'=>4,
                            'pid'=>3
                        )
                );
            $data=Cate::unlimitedForLevel($data);
            dump($data);die;
            $this->display();
                }
    }

    效果如下:

  • 相关阅读:
    L1和L2正则
    Python基础(一)
    消息分发
    StringList 自定义快速排序
    Delphi Length函数
    接口的委托实现(通过接口)
    接口委托实现--通过类的对象
    排序
    Socket编程(摘抄)
    Delphi线程同步
  • 原文地址:https://www.cnblogs.com/hltswd/p/5118464.html
Copyright © 2011-2022 走看看