ps摳圖去除水印的方法 ps摳圖去白邊教程
978
2023-11-10
本文實(shí)例講述了PHP生成樹的方法。分享給大家供大家參考。具體如下:
這個類不是我寫的 只添加了getAll()函數(shù)
php生成一個樹,可以用于產(chǎn)品分類
不知道遍歷寫的是否優(yōu)化,如果你有請分享一下吧 -.-!
運(yùn)行效果如下圖所示:
實(shí)現(xiàn)代碼如下:
data[$id] = $value; //print_r($this->data); //echo "rn"; $this->cateArray[$id] = $parent; //節(jié)點(diǎn)數(shù)組 //print_r($this->cateArray); } function getChildsTree($id=0) { $childs=array(); foreach ($this->cateArray as $child=>$parent) { if ($parent==$id) { $childs[$child]=$this->getChildsTree($child); } } print_r($childs)."/r/n"; return $childs; } function getParentsTree($id=0) { $parents=array(); foreach ($this->cateArray as $child=>$parent) { if ($child ==$id) { $parents[$parent]=$this->getParentsTree($parent); } } print_r($parents)."/r/n"; return $parents; } function getChilds($id=0) { $childArray=array(); $childs=$this->getChild($id); foreach ($childs as $child) { $childArray[]=$child; $childArray=array_merge($childArray,$this->getChilds($child)); } return $childArray; } function getChild($id) { $childs=array(); foreach ($this->cateArray as $child=>$parent) { if ($parent==$id) { $childs[$child]=$child; } } return $childs; } function getParents($id) { $parentArray=array(); $parents=$this->getParent($id); foreach ($parents as $parent) { $parentArray[]=$parent; $parentArray=array_merge($parentArray,$this->getParents($parent)); } return $parentArray; } function getParent($id) { $parents=array(); foreach ($this->cateArray as $child=>$parent) { if ($child==$id) { $parents[$parent]=$parent; } } return $parents; } //單線獲取父節(jié)點(diǎn) function getNodeLever($id) { $parents=array(); if (key_exists($this->cateArray[$id],$this->cateArray)) { $parents[]=$this->cateArray[$id]; $parents=array_merge($parents,$this->getNodeLever($this->cateArray[$id])); } return $parents; } function getLayer($id,$preStr='|-') { return str_repeat($preStr,count($this->getNodeLever($id))); } function getValue ($id) { return $this->data[$id]; } // end func //獲取所有節(jié)點(diǎn)數(shù)據(jù)生成樹 function getAll($id=0,$str="|-"){ if($id!=0){ $str=$str."|-"; } //遍歷所有數(shù)組檢查parent是否有id foreach($this->cateArray as $child=>$parent){ //檢查是否有相等的ID if($parent==$id){ $this->res[$child]=$str.$this->getValue($child); $this->getAll($child,$str); } //$this->res[$child]=$child.$str.$this->getValue($child); } } } //構(gòu)造樹 //setNode ($id, $parent, $value) $tree = new Tree(); $tree->setNode("1","","電器"); $tree->setNode("2","","服裝"); $tree->setNode("3","1","電腦"); $tree->setNode("4","1","家電"); $tree->setNode("5","2","男裝"); $tree->setNode("6","2","女裝"); $tree->setNode("7","3","筆記本"); $tree->setNode("8","3","臺式機(jī)"); $tree->setNode("9","7","惠普"); $tree->setNode("10","7","戴爾"); $tree->setNode("11","8","火星人"); $tree->setNode("12","5","西裝"); $tree->setNode("13","6","上衣"); $tree->setNode("14","9","惠普-N90"); $tree->setNode("15","9","惠普-N91"); $tree->setNode("16","10","戴爾A11"); $tree->setNode("17","10","戴爾A12"); $tree->setNode("18","10","戴爾A13"); $tree->setNode("19","6","褲子 "); $tree->setNode("20","13","長袖"); $tree->setNode("21","13","短袖"); $tree->setNode("22","20","NIKE長袖"); $tree->setNode("23","20","361長袖"); $tree->setNode("24","22","NIKE長袖-均碼"); $tree->setNode("25","22","NIKE長袖-短碼"); $tree->setNode("26","14","惠普-N90-14寸"); $tree->setNode("27","14","惠普-N90-15寸"); $tree->setNode("28","14","惠普-N90-17寸"); $tree->setNode("29","28","惠普-N90-17寸-高性能企業(yè)版"); $tree->setNode("30","28","惠普-N90-17寸-普通家用版"); //獲取一個節(jié)點(diǎn)的所有父節(jié)點(diǎn) //print_r ($tree->getNodeLever(12)); //print_r ($tree->getParentsTree(12)); //$childs = $tree->getChildsTree(1); //print_r($childs); //echo "/r/n/r/n/r/n/r/n"; /* foreach($childs as $key=>$value){ echo $key."
"; //echo $tree->getLayer($key).$tree->getValue($key)."
"; } */ $tree->getAll(); foreach($tree->res as $val){ echo $val."
"; } ?>
希望本文所述對大家的php程序設(shè)計有所幫助。
#免責(zé)聲明#
本站[綠夏技術(shù)導(dǎo)航]提供的一切軟件、教程和內(nèi)容信息僅限用于學(xué)習(xí)和研究目的;不得將上述內(nèi)容用于商業(yè)或者非法用途,否則,一切后果請用戶自負(fù)。本站信息來自網(wǎng)絡(luò)收集整理,版權(quán)爭議與本站無關(guān)。您必須在下載后的24個小時之內(nèi),從您的電腦或手機(jī)中徹底刪除上述內(nèi)容。如果您喜歡該程序或內(nèi)容,請支持正版,購買注冊,得到更好的正版服務(wù)。我們非常重視版權(quán)問題,如有侵權(quán)請郵件[admin@lxwl520.com]與我們聯(lián)系進(jìn)行刪除處理。敬請諒解!