>  기사  >  백엔드 개발  >  PHP에서 무단계 재귀 분류를 구현하는 두 가지 방법에 대한 자세한 설명

PHP에서 무단계 재귀 분류를 구현하는 두 가지 방법에 대한 자세한 설명

迷茫
迷茫원래의
2017-03-26 10:44:071171검색

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;&emsp;&#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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.