>백엔드 개발 >PHP 튜토리얼 >PHP에서 무단계 재귀 분류를 구현하는 두 가지 방법 및 기술

PHP에서 무단계 재귀 분류를 구현하는 두 가지 방법 및 기술

黄舟
黄舟원래의
2017-03-04 11:28:131611검색

이 글에서는 참고할만한 좋은 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으로 문의하세요.