Comment obtenir une classification illimitée en php ? Trois méthodes de classification illimitées en php

青灯夜游
Libérer: 2023-04-04 10:12:02
avant
4262 Les gens l'ont consulté

Cet article vous présentera comment obtenir une classification illimitée en PHP ? Trois méthodes de classification illimitées en php. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

La classification infinie signifie qu'à partir du classement le plus élevé, chaque sous-catégorie peut être divisée en plusieurs sous-catégories qui lui sont propres, et elle peut être divisée à tout moment, ce qu'on appelle la classification infinie

;

Voici les exemples de classification Infinitus des provinces, des villes et des comtés. La base de données est comme indiqué dans l'image :

L'exemple de code est le suivant :


/**
 * @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;
}
Copier après la connexion

La ci-dessus se trouve l'intégralité du contenu de cet article, et plus encore. Pour plus de didacticiels connexes, veuillez visiter Ensemble complet de didacticiels vidéo sur la programmation PHP de l'entrée à la maîtrise, Tutoriels vidéo pratiques PHP, Tutoriels vidéo bootstrap !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal