• 当前位置: 首页 / 建站百科 / 常见问题
  • 递归实现无限分类

    时间:2020-09-22 浏览量: 收藏

    递归实现无限分类

    $data = [
      0=>['id'=>1,'name'=>'电脑','father'=>0],
      1=>['id'=>2,'name'=>'手机','father'=>0],
      2=>['id'=>3,'name'=>'书籍','father'=>0],
      3=>['id'=>4,'name'=>'台式机','father'=>1],
      4=>['id'=>5,'name'=>'笔记本','father'=>1],
      5=>['id'=>6,'name'=>'平板','father'=>1],
      6=>['id'=>7,'name'=>'华为','father'=>2],
      7=>['id'=>8,'name'=>'苹果','father'=>2],
      8=>['id'=>9,'name'=>'教科书','father'=>3],
      9=>['id'=>10,'name'=>'小学','father'=>9],
      10=>['id'=>11,'name'=>'显示器','father'=>4],
      11=>['id'=>12,'name'=>'荣耀','father'=>7],
    ];
    /**
     * 递归生成分类树
     * @param $data 分类数据
     * @param $pid  父级id
     * @param $level 当前层级
     * @return array
     */
    function getTree($arr,$pid,$level){
      static $tree=[];
      foreach($arr as $key=>$val) {
        if($val['father'] == $pid) {
          $flag = str_repeat('└―',$level);
          $val['name'] = $flag.$val['name'];
          $tree[] = $val;
          getTree($arr , $val['id'] ,$level+1);
        }
      }
      return $tree;
    }
    
    $tree = getTree($data,0,0);
    
    //foreach遍历输出分类数据
    foreach ($tree as $val){
      echo $val['name'].'<br>';
    }


    顶一下
    (0)
    0.00%
    踩一下
    0
    0.00%

    加载中~

    Copyright © 2012-2024 世敏网络 版权所有   闽ICP备18026760号-1    闽公网安备 35020502000640号   网站地图    Sitemap   关键词聚合

    世敏网络

    您已成功复制微信号,去微信立即添加好友!

    打开微信

    Wechart

    点击下方复制按钮,复制微信号!

    jzm866081

    https://www.xmsmwl.cn
    厦门世敏网络科技有限公司

    点击这里给我发消息
    嘿!有什么能帮到您的吗?