• 网站导航
  • 文章详情

PHP 无限级分类实现

PHP 实现菜单,或者树形结构数据时候经常用到的无限级分类,入参多维数据数组输出,输出子父级绑定关系的无限级分类封装。

/**
 * @description 无限极分类实现
 * @author Holyrisk
 * @date 2021/4/22 22:41
 * @param        $list  需要被处理的数组
 * @param string $pk id
 * @param string $pid 父级id
 * @param string $child 子级名称
 * @param int    $root 顶级分类的值
 * @return array
 */
public  function buildTree($list, $pk='id', $pid='pid', $child='children', $root=0){
    if (empty($list)){
        return [];
    }
    $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;
}


留言

  • 暂无留言,快来留言吧

公告

本网站由云天阁技术支持开发,供学习方便工作,如有侵权,不适或建议,请联系发送邮件至 2776870047@qq.com ,谢谢。