Maison  >  Article  >  développement back-end  >  Comment obtenir une classification illimitée en php ? Trois méthodes de classification illimitées en php

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

青灯夜游
青灯夜游avant
2018-10-16 18:10:134225parcourir

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;
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer