Heim > Backend-Entwicklung > PHP-Tutorial > 3 Möglichkeiten zur Implementierung einer unbegrenzten Klassifizierung in PHP (Zusammenfassung)

3 Möglichkeiten zur Implementierung einer unbegrenzten Klassifizierung in PHP (Zusammenfassung)

不言
Freigeben: 2023-04-04 10:00:01
nach vorne
2134 Leute haben es durchsucht

Dieser Artikel stellt Ihnen drei Implementierungsmethoden (Zusammenfassung) der unbegrenzten Klassifizierung in PHP vor. Ich hoffe, dass er Ihnen als Referenz dienen wird.

Unendliche Klassifizierung bedeutet, dass jede Unterkategorie ausgehend von der höchsten Klassifizierung in mehrere eigene Unterkategorien unterteilt werden kann, was als unendliche Klassifizierung bezeichnet wird

Im Folgenden finden Sie Beispiele für die Infinitus-Klassifizierung von Provinzen, Städten und Kreisen. Die Datenbank ist wie im Bild dargestellt:

Das Codebeispiel lautet wie folgt:


/**
 * @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;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt von3 Möglichkeiten zur Implementierung einer unbegrenzten Klassifizierung in PHP (Zusammenfassung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage