Heim >Backend-Entwicklung >PHP-Tutorial >Beispielcode für ein PHP-Baummenü
Dieser Artikel stellt hauptsächlich den auf Rekursion basierenden PHP-Baummenücode vor. Er verwendet eine rekursive Methode zum Durchlaufen von Knoten, um ein Baummenü zu erstellen. Freunde, die ihn benötigen, können darauf zurückgreifen > Das Beispiel in diesem Artikel beschreibt den PHP-Baummenücode basierend auf einer rekursiven Implementierung. Teilen Sie es als Referenz mit allen. Die spezifische Implementierungsmethode lautet wie folgt:
Bei der Entwicklung einer E-Commerce-Website habe ich diese Funktion zur Anzeige eines Baummenüs erstellt und dabei die rekursiv implementierte PHP-Baummenüfunktion verwendet. Der spezifische Code lautet wie folgt:
Der Code lautet wie folgt:public function procCategory($sid,$pid){ $return = array(); $key = 0; static $arr = array(); //分类级别参考数组 $sql = "select cid,pcid,name from shop_goods_catalog where sid='{$sid}' and pcid = '{$pid}'"; $result = $this->db->query($sql); while($row=$this->db->fetchArray($result)){ $nbsp = ''; if($row['pcid']==0){ $arr = array(); } $arr[] = $row['pcid']; //顶级分类不添加树形结构标识。 if($row['pcid']>0){ //根据分类级别添加树形结构标识 $key = array_search($row['pcid'],$arr); for($i=0;$i<$key;$i++){ $nbsp .= ' '; } //重构分类级别参考数组 if(count($arr)>1&&count(array_keys($arr,$row['pcid']))>1){ $arr = array_slice($arr,0,$key+1); } } $row['name'] = $nbsp.$row['name']; $row['level'] = $key; //分类级别,0为顶级分类,1为二级分类,用于样式设定或其他需求 $return[] = $row; $r = $this->procCategory($sid,$row['cid']); $return = array_merge($return,$r); } return $return; }
Das Folgende ist der PHP-Baum-Code
Unendliche Kategorie, auf den Freunde in Not verweisen können.
Das obige ist der detaillierte Inhalt vonBeispielcode für ein PHP-Baummenü. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!