ホームページ >バックエンド開発 >PHPチュートリアル >PHPで無制限の分類を実現するにはどうすればよいですか? PHP の 3 つの無制限の分類方法

PHPで無制限の分類を実現するにはどうすればよいですか? PHP の 3 つの無制限の分類方法

青灯夜游
青灯夜游転載
2018-10-16 18:10:134291ブラウズ

この記事では、PHP で無制限の分類を実現する方法を紹介します。 php の 3 つの無制限の分類方法。一定の参考値があるので、困っている友達は参考にしていただければ幸いです。

無限分類とは、最上位の分類から始めて、各サブカテゴリを独自の複数のサブカテゴリに分割できることを意味し、常に分割することができます。これを無限分類と呼びます。

以下は、州、市、郡の Infinitus 分類の例です。データベースは図に示すとおりです:

コード例は次のとおりです:


/**
 * @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 プログラミングの入門から習得までの完全なビデオ チュートリアル php 実践的なビデオ チュートリアルbootstrap ビデオ チュートリアルをご覧ください。 !

以上がPHPで無制限の分類を実現するにはどうすればよいですか? PHP の 3 つの無制限の分類方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。