基于递归的php树菜单代码的实现

本文介绍了基于递归实现的php树形菜单代码,供大家参考,具体实现方法如下:

在开发电子商务网站时,完成了树形菜单的显示功能,递归地使用了php树菜单功能,具体代码如下所示:

复制代码代码如下:公共功能proccatery($ SID,为PID){

$ =数组();

$键= 0;

静态数组($ ARR); / /分类参考阵列

为SQL =选择CID,PCID,名字从哪里shop_ods_catalog SID ={ }=希德美元量PID } { $;

结果=美元美元-> __db ->查询($ SQL);



而($行=美元-> __db -> fetcharray($结果)){

$ =;

如果($行{ 'pcid} = = 0){

ARR =阵列(美元);

}

$ ARR { } =美元排{ 'pcid};

顶级类不添加树结构标识。

如果($行{ 'pcid} > 0){

根据分类树结构添加徽标

美元关键= array_search($行{ 'pcid},$ ARR);

($ i = 0;$ i $;键;$ + +){

$ =;

}

重构分类参考数组

如果(计数($ ARR)> 1count(array_keys($ ARR,排'pcid'} {美元))> 1){

array_slice ARR为美元(美元0美元会计,关键+ 1);

}

}

$行{ 'name' } = $ nbsp。$行{ 'name' };

{ } =行'level美元美元的关键; / /分类等级,0为排名前1的两级分类,分类,或设置样式的其他要求

$;

R =美元美元-> proccatery($席,行{ 'cid美元});

收益= array_merge美元(美元美元的回报,R);

}



返回美元;

}

由于递归的效率比较低,如果我们注意程序的效率,不要使用这种方法,或者改进这种方法的使用。

希望本文能对大家的PHP程序设计有所帮助。