欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-18 10:40:40
...
本文主要介绍了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;
 }

以上就是PHP两种实现无级递归分类的方法和技巧的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关标签: PHP,递归