欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php小代码树形菜单生成

程序员文章站 2022-05-28 19:48:22
...
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 '
';

执行结果如图: