PHP编程:基于递归实现的php树形菜单代码
发布时间:2020-12-13 02:10:52 所属栏目:PHP教程 来源:网络整理
导读:《基于递归实现的php树形菜单代码》要点: 本文介绍了基于递归实现的php树形菜单代码,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解基于递归实现的php树形菜单代码.供大家参考研究.具体实现办法如下: PHP学习 开发电子商务网站的时候,做
《基于递归实现的php树形菜单代码》要点: 本篇章节讲解基于递归实现的php树形菜单代码.分享给大家供大家参考.具体实现办法如下:PHP学习 开发电子商务网站的时候,做了这个显示树形菜单的功能,用的递归实现的PHP树形菜单函数.具体代码如下:
代码如下:
public function procCategory($sid,$pid){
$return = array(); $key = 0; static $arr = array(); //分类级别参考数组 $sql =? "select cid,pcid,name from shop_goods_catalog where sid='{$sid}' and pcid = '{$pid}'"; $result = $this->__db->query($sql); ? while($row=$this->__db->fetchArray($result)){ $nbsp = ''; if($row['pcid']==0){ $arr = array(); } $arr[] = $row['pcid']; //顶级分类不添加树形结构标识. if($row['pcid']>0){ //根据分类级别添加树形结构标识 $key = array_search($row['pcid'],$arr); for($i=0;$i<$key;$i++){ $nbsp .= '??'; } //重构分类级别参考数组 if(count($arr)>1&&count(array_keys($arr,$row['pcid']))>1){ $arr = array_slice($arr,$key+1); } } $row['name'] = $nbsp.$row['name']; $row['level'] = $key; //分类级别,0为顶级分类,1为二级分类,用于样式设定或其他需求 $return[] = $row; $r = $this->procCategory($sid,$row['cid']); $return = array_merge($return,$r); } ? return $return; } 由于递归的效率相对较低,如果注重程序效率的话,不要用此办法,或者对此办法进行改进使用. 希望本文所述对大家的PHP程序设计有所帮助. 编程之家培训学院每天发布《基于递归实现的php树形菜单代码》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |