>  기사  >  백엔드 개발  >  PHP에서 무제한 분류를 구현하는 3가지 방법(요약)

PHP에서 무제한 분류를 구현하는 3가지 방법(요약)

不言
不言앞으로
2018-10-15 14:28:012077검색

이 기사는 PHP에서 무제한 분류의 세 가지 구현 방법(요약)을 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.

무한 분류는 가장 높은 분류부터 시작하여 각 하위 범주가 자체의 여러 하위 범주로 나눌 수 있다는 의미이며, 이를 무한 분류라고 합니다.

다음은 지방의 무한 분류입니다. , 도시 및 카운티 Liezi. 데이터베이스는 그림과 같습니다.

코드 예제는 다음과 같습니다.


/**
 * @Description: 无限极分类一
 * @Author: Yang
 * @param $data  数据库数据
 * @param int $parent_id   父级ID
 * @return array
 */
function getTree1($data, $parent_id = 0)
{
    $tree = array();
    foreach ($data as $k => $v) {
        if ($v["parent_id"] == $parent_id) {
            unset($data[$k]);
            if (!empty($data)) {
                $children = getCategory($data, $v["id"]);
                if (!empty($children)) {
                    $v["_child"] = $children;
                }
            }
            $tree[] = $v;
        }
    }
    return $tree;
}


/**
 * @Description: 无限极分类二
 * @Author: Yang
 * @param $data   数据库数据
 * @param int $parent_id  父级ID
 * @param int $level  等级
 * @return array
 */
function getTree2($data, $parent_id = 0, $level = 0)
{
    static $tree = array();
    foreach ($data as $k => $v) {
        if ($v["parent_id"] == $parent_id) {
            $v["level"] = $level;
            $tree[] = $v;
            getTree($data, $v["id"], $level + 1);
        }
    }
    return $tree;
}

/**
 * @Description: 无限分类三:面包屑导航
 * @Author: Yang
 * @param $data  数据库数据
 * @param $id    分类ID
 * @return array
 */
function getCrumbsBar($data, $id) {
    static $tree = array();
    foreach ($data as $k => $v) {
        if ($v["id"] == $id) {
            getCrumbsBar($data, $v["parent_id"]);
            $tree[] = $v;
        }
    }
    return $tree;
}

위 내용은 PHP에서 무제한 분류를 구현하는 3가지 방법(요약)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제