在php中递归算法是我们比得不多的一种数据遍历方式了,下面我来给大家介绍一下利用递归来做一下用的东西吧。
看一个简单的递归实例
例1
代码如下 | 复制代码 |
function demo($a) { static $sum=1; if($a > 1){ $sum*=$a; demo(--$a); }else{ $a=$sum; } return $sum; } echo demo(10); |
例2
遍历目录
代码如下 | 复制代码 |
class listdir{ function listdir($dir){ //把结果保存进多维数组 //字符窜化结果 function tostring($dir=”"){
$this->tostring.=”Directory:”.$dir.”n”; while(false!==($item=$d->read())) { if($item!=”.”&&$item!=”..”) { $path=$dir.”/”.$item; if(is_dir($path)){ $this->depth+=1; $this->tostring($path); }else{ $this->tostring.=” } } } $this->depth-=1; $d->close(); $this->tostring.=” return $this->tostring; } } $wapdir=”jquery”; $d=new listdir($wapdir); echo $d->tostring(); ?> 输出结果:
Directory:jquery Directory:jquery/d |