当前位置:  编程技术>php

php递归算法 php递归函数无限级分类

    来源: 互联网  发布时间:2014-10-04

    本文导语:  运用php递归算法实现的无限极分类: 数据库中,分类表(category)只有一张,里面主要包含字段有:主键ID,分类名name,父级PID,分类路径PATH,这四个字段应该是必须的,再插入一些测试数据,例如表中有如下数据: 首先,path...

运用php递归算法实现的无限极分类:
数据库中,分类表(category)只有一张,里面主要包含字段有:主键ID,分类名name,父级PID,分类路径PATH,这四个字段应该是必须的,再插入一些测试数据,例如表中有如下数据:

首先,path字段,可能有些朋友对这个字段还不太理解,0-1-3其实这个表示是当前分类的所有父类,这样一目了然它的父类是开发语言->php->php函数->然后是当前分类,这样做就能很清楚的知道当前分类的深度,是第几级分类,然后可以根据这个字段值计算分类的缩进,并构造出树形菜单如下:
开发语言
|-  php
|-  |-  php函数
|-  |-  |-函数urlencode
|-  java
|-  |-  spring

用php写递归函数实现这个Tree菜单,为了方便直接使用thinkphp来演示查询吧。
 

代码示例:


$pid,
    );
    //查询
    $data=$model->where($map)->select();
    //定义新数组 用来存生成的html树形菜单
    $html_array=array();
    //循环分类
    $html='';
    $padding=0;   //缩进
    foreach($data as $k=>$v){
        //根据path字段的值实现缩进
        $path=$v['path'];
        if($path&&strpos($v['path'],'-')){
            $path_array=@explode('-',$v['path']);
            $count=count($path_array)-1;
            $padding=$count*20; //下一级分类缩进20像素
        }
        //当前分类数据html
        $data_array[]='
'.$v['name'].'
';

         //递归开始查找下级分类
        $data_array[]=toTree($v['id']);//把当前分类的id当做父级Id进行递归
    }
     //foreach循环结束合并分类html数组
    $html.=implode('',$data_array());
    $html.='';
    //html树形菜单构造完成,就这么简单,so easy吧!
    return $html;
}


    
 
 

您可能感兴趣的文章:

  • php递归示例 php递归函数代码
  • php递归使用示例(php递归函数)
  • php递归函数小例子
  • PHP递归函数返回值使用实例
  • php递归函数使用return问题
  • php递归创建目录小例子
  • php递归函数求阶乘
  • php+mysql不用递归实现的无限级分类实例(非递归)
  • Linux下的递归备份问题,cp -prv .php backup不行
  • php递归获取目录内文件(包含子目录)的代码
  • php递归函数中使用return的注意事项
  • php递归实现无限分类生成下拉列表函数代码
  • php递归方法实现无限分类示例
  • php递归获取目录内文件(包含子目录)封装类分享
  • php递归方法实现无限分类实例代码
  • php递归实现无限分类 php格式化数组
  • PHP不用递归遍历目录下所有文件的代码
  • php实例分享之通过递归实现删除目录下的所有文件详解
  • php数组递归方法多个实例
  • PHP递归算法实例解析
  • php质数算法代码 php除法求质数
  • php微博短网址算法 php生成短网址的实现代码
  • PHP中对各种加密算法、Hash算法的速度测试对比代码
  • php加密算法之实现可逆加密算法和解密分享
  • php生成数组的使用示例 php全组合算法
  • php生成数组与php全组合算法
  • php质数算法简单示例
  • PHP 素数计算算法示例
  • PHP5入门之分组算法
  • php冒泡排序算法实现代码
  • php选择排序算法实现代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP的substr() 函数用法
  • php构造函数与析构函数
  • php中检测变量是否是一个对象的is_object函数介绍及用法举例
  • php构造函数与析构函数初探
  • php session_id()函数介绍及代码实例
  • PHP中的Pack()函数,Java有哪个函数与之对应???
  • php递归示例 php递归函数代码 iis7站长之家
  • php构造函数与析构函数 php内存管理函数
  • php将html特殊字符转换成html字符串的函数:htmlspecialchars()介绍及代码举例
  • php数组函数之array_combine() 数组合并函数
  • php使用socket_bind()函数绑定IP地址
  • php构造函数和析构函数学习
  • php将unix时间戳转换成字符串时间函数(date)
  • php trim函数执行过程解析
  • php通过pack和unpack函数实现对二进制数据封装及解析
  • php sprintf函数用法 php浮点数格式
  • php时间格式化函数date介绍及用法参考
  • php构造函数与析构函数实例分析
  • 在php中如何用exec()函数运行mv命令
  • php 构造函数与析构函数应用实例
  • php析构函数用法举例
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3