PHP 递归学习

来源:互联网 发布:java 成员信息管理 编辑:程序博客网 时间:2024/05/18 02:59
<?php//求1+2+3+。。。。+n的和 function sum($n){ if($n == 1){ return 1; }else{return $n + sum($n-1); } }echo sum(5);echo '<hr>';//打印目录  function getDirs($path,$count){$dh = opendir($path);while(($name = readdir($dh)) != false){if($name != '.' && $name != '..'){//echo $name,'<br />';echo '|-',str_repeat('--',$count),$name,'<br/>';if(is_dir($path.'/'.$name)){getDirs($name,$count+1);}}}  }    getDirs('./',1);


 

 

 

<?php//递归创建目录function createDir($path){//如果已经存在,直接返回if(file_exists($path) && is_dir($path)){return true;}//如果父目录存在,则创建if(file_exists(dirname($path)) && is_dir(dirname($path))){return mkdir($path);}//程序执行到这里,说明父目录也没有,先创建父目录createDir(dirname($path));return mkdir($path);}echo createDir('./a/b/c/d')?'create success':'create false','<br />';// PHP5可以创建级联目录//echo mkdir('./aa/bb/cc/dd',0077,true);function deleteDir($path){if(!is_dir($path)){return NULL;}$dh = opendir($path);while(($name = readdir($dh)) != false){if($name != '.' && $name != '..'){if(is_dir($path.'/'.$name)){deleteDir($path.'/'.$name);}else{unlink($path.'/'.$name);}}}//关闭目录读取通道closedir($dh);rmdir($path);return true;}echo deleteDir('./a')?'delete success':'delete false';


 

0 0
原创粉丝点击