1. 云栖社区>
  2. PHP教程>
  3. 正文

php实现数据树形结构 递归方法

作者:用户 来源:互联网 时间:2017-12-01 16:09:56

php递归数据结构实现方法树形

php实现数据树形结构 递归方法 - 摘要: 本文讲的是php实现数据树形结构 递归方法, //2.定义递归查询 数据格式化 public function data($pid=0){ $data = /DB::table('types')->where('pid',$pid)->get();

//2.定义递归查询 数据格式化    public function data($pid=0){        $data = /DB::table('types')->where('pid',$pid)->get();        foreach ($data as $key=>$val){            $val->zi = $this->data($val->id);        }        return $data;    }    //3.递归查询 数据格式化    public function data1($data,$pid=0){        $newArr = array();        //获取顶级分类        foreach ($data as $key=>$val){            if ($val->pid == $pid){                $newArr[$val->id] = $val;                $newArr[$val->id]->zi = $this->data1($data,$val->id);            }        }        return $newArr;    }    public function index()    {        //1.使用面向过程方式实现树层 (淘汰)        $one = /DB::table('types')->where('pid',0)->get();        foreach ($one as $value){            $value->zi = /DB::table('types')->where('pid',$value->id)->get();        }        foreach ($one as $value){            foreach ($value->zi as $v){                $v->zi = /DB::table('types')->where('pid',$v->id)->get();            }        }        //2.使用递归实现数据格式化 (不建议使用,对数据库压力较大)        $arr = $this->data();        //3.递归实现数据格式化 ,优化2        $data = /DB::table('types')->get();        $arr = $this->data1($data,$pid=0);        //实现树形结构        $data = /DB::select('select types.*,concat(path,id) p from types order by p');        //查询数据//        $data = /DB::table('types')->orderBy('sort','desc')->get();        return view('admin.types.index',['data'=>$data]);    }

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 递归 , 数据 , 结构 , 实现 , 方法 树形 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备