zoukankan      html  css  js  c++  java
  • 一个无限级分类

     1 /**
     2  * 把返回的数据集转换成Tree
     3  * @param array $list 要转换的数据集
     4  * @param string $pid parent标记字段
     5  * @param string $level level标记字段
     6  * @return array
     7  */
     8 function list_to_tree($list, $pk='id', $pid = 'pid', $child = '_child', $root = 0)
     9 {
    10     // 创建Tree
    11     $tree = array();
    12     if(is_array($list)) {
    13         // 创建基于主键的数组引用
    14         $refer = array();
    15         foreach ($list as $key => $data) {
    16             $refer[$data[$pk]] =& $list[$key];
    17         }
    18         foreach ($list as $key => $data) {
    19             // 判断是否存在parent
    20             $parentId =  $data[$pid];
    21             if ($root == $parentId) {
    22                 $tree[] =& $list[$key];
    23             }else{
    24                 if (isset($refer[$parentId])) {
    25                     $parent =& $refer[$parentId];
    26                     $parent[$child][] =& $list[$key];
    27                 }
    28             }
    29         }
    30     }
    31     return $tree;
    32 }

    很不错!性能应该很高

  • 相关阅读:
    8.5 day8
    8.1 day6
    课后作业 day29
    博客整理day29
    博客整理day28
    博客整理day27
    博客整理day26
    课后作业 day26
    Python 学习day22
    课后作业 day21
  • 原文地址:https://www.cnblogs.com/mk9007/p/3746523.html
Copyright © 2011-2022 走看看