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 '
'; foreach($treeDatas[$nodeDatas['id']] as $childNodeDatas){ echo '
- '; traverSesing($childNodeDatas, $treeDatas); echo '
'; } echo '
'; } } echo '
';foreach($treeDatas[-1] as $nodeDatas){ echo '
- '; traverSesing($nodeDatas, $treeDatas); echo '
';}echo '
';
執行結果