用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php递归用法与递归目录实例

时间:2015-01-23  来源:西部数据  作者:西部数据

在php中递归算法是我们比得不多的一种数据遍历方式了,下面我来给大家介绍一下利用递归来做一下用的东西吧,看一个简单的递归实例.

例1,代码如下:

  1. function demo($a) {  
  2.  
  3.     static $sum=1;  
  4.  
  5.     if($a > 1){  
  6.  
  7.         $sum*=$a;  
  8.  
  9.         demo(--$a);  
  10.  
  11.     }else{  
  12.  
  13.         $a=$sum;  
  14.  
  15.         }  
  16.  
  17.         return $sum;  
  18.  
  19. echo demo(10); 

例2,遍历目录,代码如下:

  1. <?php 
  2. class listdir{ 
  3. var $depth
  4. var $dirname
  5. var $list
  6. var $tostring
  7.  
  8. function listdir($dir){ 
  9. $this->dirname=$dir
  10. $this->depth=0; 
  11. $this->tostring=”"; 
  12.  
  13. //把结果保存进多维数组 
  14. function getlist($dir=”"){ 
  15. if($dir==”")$dir=$this->dirname; 
  16. $d=@dir($dir); 
  17. while(false!==($item=$d->read())) 
  18. if($item!=”.”&&$item!=”..”) 
  19. $path=$dir.”/”.$item
  20. if(is_dir($path)){ 
  21. $this->depth+=1; 
  22. $this->getlist($path); 
  23. }else
  24. $this->list[$this->depth][]=$item
  25. $this->list[$this->depth]['directory']=$dir
  26. $this->depth-=1; 
  27. $d->close(); 
  28. return $this->list; 
  29.  
  30. //字符窜化结果 
  31.  
  32. function tostring($dir=”"){ 
  33. if($dir==”")$dir=$this->dirname; 
  34. $d=@dir($dir); 
  35. $this->tostring.=”<UL>n”; 
  36. $this->tostring.=”Directory:”.$dir.”n”; 
  37. while(false!==($item=$d->read())) 
  38. if($item!=”.”&&$item!=”..”) 
  39. $path=$dir.”/”.$item
  40. if(is_dir($path)){ 
  41. $this->depth+=1; 
  42. $this->tostring($path); 
  43. }else
  44. $this->tostring.=”<LI>”.$item.”</LI>n”; 
  45. $this->depth-=1; 
  46. $d->close(); 
  47. $this->tostring.=”</UL>n”; 
  48. return $this->tostring; 
  49. $wapdir=”jquery”; 
  50. $d=new listdir($wapdir); 
  51. echo $d->tostring(); 
  52. ?> 
  53. /* 
  54. 输出结果: 
  55. <UL> 
  56. Directory:jquery 
  57. <LI>jquery-1.3.2.js</LI> 
  58. <LI>jquery-1.3.2.min.js</LI> 
  59. <LI>jquery-1.3.2-vsdoc2.js</LI> 
  60. <LI>test.html</LI> 
  61. <LI>common.js</LI> 
  62. <UL> 
  63. Directory:jquery/d 
  64. <LI>common.js</LI> 
  65. <LI>jquery-1.3.2.js</LI> 
  66. </UL> 
  67. </UL> 
  68. */ 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门