PHP两种实现无级递归分类的方法

6年以前  |  阅读数:963 次  |  编程语言:PHP 

话不多说,请看代码:


    /**
    * 无级递归分类 TP框架
    * @param int $assortPid 要查询分类的父级id
    * @param mixed $tag  上下级分类之间的分隔符
    * @return string $tree 返回的分类树型结构结果 
    *
    */
    function recursiveAssort($assortPid, $tag = '')
    { 
     $assort = M('goods_class')->where("class_pid = $assortPid")->field('class_id, class_name')->select();
     foreach ($assort as $value) {
     $tree .= '<option value="' . $value['class_id'] . '">' . $tag . $value['class_name'] . '</option>';
     $tree .= recursiveAssort($value['class_id'], $tag . ' ');
     }
     return $tree;
    }

    /**
     * 利用php的引用传递 CI框架
     *
     */
     public function get_access()
     {
     $access = array();
     $field = 'id, pid, method, name, description';
     $q_access = $this->db->select($field)->get('access');
     $q_result = $q_access->result_array();
     if (!empty($q_result)) {
      $items = array();
      foreach ($q_result as $value) {
      $items[$value['id']] = $value;
      }
      foreach ($items as $key => $item) {
      if ($item['pid'] == 0) {
       $access[] = &$items[$key];
      } else {
       $items[$item['pid']]['sub_access'][] = &$items[$key];
      }
      }
     }
     return $access;
     }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8