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!