用递归遍历文件夹

函数的递归调用

递归的含义

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

 

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

 

典型的,比如:求阶乘!

10! = 10 * 9!

9! =  9 * 8!

8! = 8 * 7!

……

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

 

递归的两个要点:

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

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

 

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

 

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

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

 

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

代码:

 

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

用递归遍历文件夹_第1张图片

效果:

用递归遍历文件夹_第2张图片

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

转载于:https://www.cnblogs.com/pcyy/p/5769513.html

你可能感兴趣的:(用递归遍历文件夹)