首页 >后端开发 >php教程 >PHP两种实现无级递归分类的方法和技巧

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

黄舟
黄舟原创
2017-03-04 11:28:131610浏览

本文主要介绍了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 .= &#39;<option value="&#39; . $value[&#39;class_id&#39;] . &#39;">&#39; . $tag . $value[&#39;class_name&#39;] . &#39;</option>&#39;;
 $tree .= recursiveAssort($value[&#39;class_id&#39;], $tag . &#39; &#39;);
 }
 return $tree;
}

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

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn