您好,登錄后才能下訂單哦!
<?php header("Content-type:text/html; charset=UTF-8"); $mixTree = array(); /* * 每個結果中的重點數據兩個一個是id一個是指向其父結點id的parent */ $mixTree[] = array('id'=>0,'val'=>'頂級菜單1','parent'=>-1); $mixTree[] = array('id'=>1,'val'=>'頂級菜單2','parent'=>-1); $mixTree[] = array('id'=>2,'val'=>'頂級菜單1下的二級菜單1','parent'=>0); $mixTree[] = array('id'=>3,'val'=>'頂級菜單1下的二級菜單2','parent'=>0); $mixTree[] = array('id'=>4,'val'=>'頂級菜單2下的二級菜單1','parent'=>1); $mixTree[] = array('id'=>5,'val'=>'頂級菜單1下的二級菜單2下的三級菜單1','parent'=>3); /* * 通過二維數組把上面的數據掛載成樹 */ $treeDatas = array(); foreach($mixTree as $nodeDatas){ if($nodeDatas['parent']==-1){ $treeDatas[-1][]=$nodeDatas; }else{ $treeDatas[$nodeDatas['parent']][]=$nodeDatas; } } /* * 遍歷打印其父結點及其子結點 */ function traverSesing($nodeDatas,$treeDatas){ echo $nodeDatas['val']; if(!empty($treeDatas[$nodeDatas['id']])&& is_array($treeDatas[$nodeDatas['id']])){ echo '<ul>'; foreach($treeDatas[$nodeDatas['id']] as $childNodeDatas){ echo '<li>'; traverSesing($childNodeDatas, $treeDatas); echo '</li>'; } echo '</ul>'; } } echo '<ul>'; foreach($treeDatas[-1] as $nodeDatas){ echo '<li>'; traverSesing($nodeDatas, $treeDatas); echo '</li>'; } echo '</ul>';
執行結果如圖:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。