0

0

递归的一些应用(一)遍历文件夹

php中文网

php中文网

发布时间:2016-08-08 08:49:47

|

1465人浏览过

|

来源于php中文网

原创

函数的递归调用

递归的含义

递归其实也只是一种算法上的描述,不是一种新的语法!

 

三顾购物系统服装版免费版
三顾购物系统服装版免费版

不少网友非常喜欢三顾购物系统,尤其是喜欢服装版,但是却苦于要收费,而且网上也一直没有免费版。现在将自己修改的版本上传,功能没有任何限制,希望对大家有帮助,为大家创造些价值。 三顾购物系统分为服装版、鲜花版、化妆品版、时尚商务版等多个版本,本系统为服装版,采用三顾购物平台,具备了所有购物网站的功能,应用于服装行业。 三顾购物系统使用说明: 解压后将3gushop文件夹下的所有文件上传到支持AspJp

下载

有时候,我们解决问题的时候,会遇到这种情况,当我们把一个大的问题按照某种解决方案分成若干个小的问题的时候,发现这些小问题的解决方案其实和刚才大问题的解决方案又是一样的!

 

典型的,比如:求阶乘!

10! = 10 * 9!

9! =  9 * 8!

8! = 8 * 7!

……

语法上,函数的递归调用,就是函数在执行的过程中自己又调用自己

 

递归的两个要点:

1,  递归的出口:就是指什么时候停止递归调用

2,  递归点:就是指什么时候开始使用递归调用

 

在写递归调用的时候,先写递归的出口,再写递归点!

 

所以,递归调用的特点是:代码书写比较简单,但是执行的时候,比较消耗内存资源

也可以说,递归的本质就是以空间换取时间

 

下面是通过递归遍历文件夹的一个小案例:

代码:

 

php 
/**
 * 定义遍历指定路径下文件与文件夹,通过递归的方法
 * @param  $dir string
 */
function dirs($dir,$level=0){
    //列出指定路径中的文件和目录
    $files=scandir($dir);

    //遍历所有的目录
    foreach($files as $file){

        //重复一个字符串
        echo str_repeat(' ',$level*4);

        //拼接路径
        $tmpdir=$dir.'/'.$file;

        //判断是否是一个目录,文件夹
        if(is_dir($tmpdir)){
            //让文件夹变成红色
            echo "$tmpdir
"; //目录下有两个隐藏文件.和..,排除掉 if($file !='.' && $file !='..'){ //通过递归的方法,调用自己,进行遍历 dirs($tmpdir,$level+1);//递归点 } }else{ //如果不是一个目录就直接显示这个文件 echo $file.'
'; } } } dirs('d:/sphinx');

效果:

下篇我会用递归的方法来实现无限极分类的小案例。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

237

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

393

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

17

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

103

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

73

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

81

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

70

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号