Heim  >  Artikel  >  Backend-Entwicklung  >  Wie implementiert man die Infinitus-Klassifizierung in PHP? (mit Code)

Wie implementiert man die Infinitus-Klassifizierung in PHP? (mit Code)

不言
不言Original
2018-08-13 15:09:142217Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Implementierung der Infinitus-Klassifizierung in PHP. (Beigefügt ist der Code), der einen gewissen Referenzwert hat. Freunde in Not können sich darauf beziehen. Ich hoffe, er wird Ihnen hilfreich sein.

Ich habe beim Schreiben des Projekts die Infinitus-Klassifizierung verwendet. Aufgrund der besonderen Gründe des Projekts treten Probleme auf, wenn statische Variablen zum Speichern von Arrays verwendet werden Referenzmethode.

public function getTree($array, $pid = 0, $level = 0, &$list)
    {
        foreach ($array as $key => $value) {            
        //第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点
            if ($value['parentid'] == $pid) {                
            //父节点为根节点的节点,级别为0,也就是第一级
                $value['level'] = $level;                
                //把数组放到list中
                $list[] = $value;                
                //把这个节点从数组中移除,减少后续递归消耗
                unset($array[$key]);                
                //开始递归,查找父ID为该节点ID的节点,级别则为原级别+1
                $this->getTree($array, $value['id'], $level + 1, $list);

            }
        }        
        return $list;
    }

Verwandte Empfehlungen:

Wie erreicht man einen Klassifizierungsbaumeffekt in PHP? (Code beigefügt)

Wie verwende ich PHP, um die Größe einer Datei zu beurteilen? (Codebeispiel)

Das obige ist der detaillierte Inhalt vonWie implementiert man die Infinitus-Klassifizierung in PHP? (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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