/*
递归自身调用自身,每次调用把问题简化,直到问题解决
即:把大的任务拆成相同性质的多个小任务完成
*/
/*
function recsum($n){
if($n>1){
return $n + recsum($n-1);
}else{
return 1;
} }
//递归调用
echo recsum(10).'<br />';
*/ //最先调用,最后返回
//递归:一个函数,自身调用自身,必有终止条件 function sum($n){
if($n>1){
echo $n.'<br />';
return sum($n-1)+$n;//1,3,6,10,15 } else {
echo 1 .'<br />';
return 1;
}
} echo sum(5);
/*
分析
sum(1)=1
sum(2)=sum(1)+2;
sum(3)=sum(2)+3
sum(4)=sum(3)+4
sum(5)=sum(4)+5
*/

递归创建目录

<?php
/*
递归创建目录 */
/*第一种方法
function mk_dir($path) {
//
if(is_dir($path)) {
//
return true;
}
//目录的父目录存在
if (is_dir(dirname($path))) {
# code...
return mkdir($path);
}
//父目录不存在,创建父目录
mk_dir(dirname($path));
return mkdir($path);
} echo mk_dir("d:/a/ac/d/g/d/")?'ok':'fail';
*/ //第二种方法
function mk_dir($path){
//如果目录已经存在,直接返回
if (is_dir($path)) {
# code...
return true;
}
//如果目录不存在,创建
//父目录不一定存在,
return is_dir(dirname($path)) || mk_dir(dirname($path))?mkdir($path):false;
}
echo mk_dir('./a/n/d/c')?'ok':'fail'; ?>

最新文章

  1. hive 复杂类型
  2. Java学习笔记13---一个循环程序的设计范例
  3. sublime text 3 的在文件夹中查找的快捷键没有反应 的bug冲突
  4. [iOS翻译]《iOS7 by Tutorials》系列:iOS7的设计精髓(上)
  5. tar: Removing leading `/’ from member names
  6. 批处理快速创建wifi
  7. iOS开发——实战OC篇&amp;环境搭建之Xib(玩转UINavigationController与UITabBarController)
  8. PrintQueue
  9. OC4_实例变量的作用域
  10. 【译】4个你需要知道的Asset Catalog的秘密
  11. WiFi无线模块学习1——HLK-M30使用
  12. Java 之String.valueOf(obj)
  13. ubuntu 10.04安装qtcreator并汉化
  14. c语言 inline函数
  15. Bash shell编程的语法知识点(1)
  16. 利用sys打印进度条
  17. laravel框架入门
  18. .net跨防火墙链接oracle连接池链接长时间无通讯数据被断开后报错问题解决
  19. oracle中ddl的管理
  20. 关于RAID的概述

热门文章

  1. 西安Uber优步司机奖励政策(1月25日~1月31日)
  2. Coprimes - SGU 102(求互质数,水)
  3. 超级好用的国际汇兑平台--Transferwise
  4. SQL ID自增列从1开始重新排序 分类: SQL Server 2014-05-19 14:46 652人阅读 评论(0) 收藏
  5. 使用redis来实现分布式锁
  6. DAG最短路算法
  7. 转自知乎,亲民好酒推荐 分类: fool_tree的笔记本 2014-11-08 17:37 652人阅读 评论(0) 收藏
  8. Qt 学习之路:二进制文件读写
  9. Note | Javascript权威指南[第六版] 第1章:Javascript概述
  10. ios中的界面跳转方式