zoukankan      html  css  js  c++  java
  • 无限极分类(一)获得树结构

    数据表结构

    函数:

    function make_tree($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;
    }

    $arr = make_tree($list, 'cat_id', "parent_id", "son", 0);

    var_dump($arr);

    结果:

    array(5) {
      [0] => array(6) {
        ["cat_id"] => string(1) "1"
        ["cat_name"] => string(6) "女装"
        ["parent_id"] => string(1) "0"
        ["sort_order"] => string(2) "50"
        ["is_show"] => string(1) "1"
        ["son"] => array(3) {
          [0] => array(6) {
            ["cat_id"] => string(1) "6"
            ["cat_name"] => string(9) "连衣裙"
            ["parent_id"] => string(1) "1"
            ["sort_order"] => string(2) "50"
            ["is_show"] => string(1) "1"
            ["son"] => array(1) {
              [0] => array(5) {
                ["cat_id"] => string(2) "31"
                ["cat_name"] => string(12) "我的最爱"
                ["parent_id"] => string(1) "6"
                ["sort_order"] => string(2) "50"
                ["is_show"] => string(1) "1"
              }
            }
          }
    .....
    
    
    
    ------想要问问你敢不敢,像你说过的那样爱我......
  • 相关阅读:
    发送邮件时,报错:AttributeError: 'list' object has no attribute 'encode'
    快速统计字符出现次数
    vscode快捷键
    win7系统部署django项目
    记录一个小问题,django+Apache+win7,启动Apache后,打开网页,一直转圈圈,停不下来
    django ORM 按月分组统计
    哈希表的应用
    查找算法
    递归的应用
    递归
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6242568.html
Copyright © 2011-2022 走看看