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

作者:袖梨 2022-06-24

 

 代码如下复制代码

/**

* 无级递归分类 TP框架

* @param int $assortPid 要查询分类的父级id

* @param mixed $tag  上下级分类之间的分隔符

* @return string $tree 返回的分类树型结构结果

*

*/

functionrecursiveAssort($assortPid,$tag='')

{

 $assort= M('goods_class')->where("class_pid = $assortPid")->field('class_id, class_name')->select();

 foreach($assortas$value) {

 $tree.='

 $tree.= recursiveAssort($value['class_id'],$tag.' ');

 }

 return$tree;

}

 

 

 代码如下复制代码

/**

 * 利用php的引用传递 CI框架

 *

 */

 publicfunctionget_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_resultas$value) {

  $items[$value['id']] =$value;

  }

  foreach($itemsas$key=>$item) {

  if($item['pid'] == 0) {

   $access[] = &$items[$key];

  }else{

   $items[$item['pid']]['sub_access'][] = &$items[$key];

  }

  }

 }

 return$access;

 }

 

相关文章

精彩推荐