zoukankan      html  css  js  c++  java
  • PHP 把返回的数据集转换成Tree树

    /**
    * 把返回的数据集转换成Tree
    * @access public
    * @param array $list 要转换的数据集
    * @param string $pid parent标记字段
    * @param string $level level标记字段
    * @return array
    */
    public static function list_to_tree($list, $pk='cat_id',$pid = 'parent_id',$child = '_child',$root=0) {
      // 创建Tree
      $tree = array();
      if(is_array($list)) {
        // 创建基于主键的数组引用
        $refer = array();
        foreach ($list as $key => $data) {
          $refer[$data[$pk]] =& $list[$key];
        }
        foreach ($list as $key => $data) {
          // 判断是否存在parent
          $parentId = $data[$pid];
          if ($root == $parentId) {
            $tree[] =& $list[$key];
          }else{
            if (isset($refer[$parentId])) {
              $parent =& $refer[$parentId];
              $parent[$child][] =& $list[$key];
            }
          }
        }
      }
      return $tree;
    }

    //树转数组

    function treeToList($tree,&$result=array()){

    foreach($tree as $k=>$v){
    $result[$v['company_branch_id']]=$v;
    if (isset($v['_child'])) {
    treeToList($v['_child'],$result);
    }
    }

    $result = array_map(function($item){
    unset($item['_child']);
    return $item;
    },$result);
    return $result;
    }
  • 相关阅读:
    Excel电子表格操作
    word文档编辑
    中英文输入
    个人借款合同范本
    Day-8:汇总数据
    Day-7:使用函数处理数据
    Day-6:创建计算字段
    Day-5:通配符过滤
    Day-4:高级数据过滤
    Day-3:过滤数据
  • 原文地址:https://www.cnblogs.com/liuxd/p/6747883.html
Copyright © 2011-2022 走看看