PHP使用引用实现无限极分类

PHP实现无限极分类

引用

<?php
    /**
    * 无限极分类实现
    * @param  $list array 需要处理的数组
    * @param  $pk string 主id
    * @param  $pid string 父级id
    * @param  $child string 子级名称
    * @param  $root 顶级id
    * @return Array
    */
    public function buildTree($list, $pk=‘id‘, $pid=‘pid‘, $child=‘_child‘, $root=0){
      
        $tree = array();
        $packData = array();
        foreach ($list as $data) {
            $packData[$data[$pk]] = $data;
        }

        foreach ($packData as $key=>$val){
            if($val[$pid] == $root){
                $tree[] = &$packData[$key];
            }else{
                $packData[$val[$pid]][$child][] = &$packData[$key];
            }
        }

        return $tree;
    }

php

相关推荐