PHP递归算法的简单实例


Posted in PHP onFebruary 28, 2019

递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解,比如

function test ($n){
  echo $n." ";
  if($n>0){
    test($n-1);
  }else{
    echo "";
  }
  echo $n." "
}
test(2)

这个比如终究的输出结果是

2 1 0<?>0 1 2

我解说下,为何输出是这么的

第一步,履行test(2),echo 2,然后由于2>0,履行test(1), 后边还有没来得及履行的echo 2

第二步,履行test(1),echo 1,然后由于1>0,履行test(0),相同后边还有没来得及履行的 echo 1

第三步,履行test(0),echo 0,履行test(0),echo 0, 此刻0>0的条件不满意,不在履行test()函数,而是echo “”,并且履行后边的 echo 0

此刻函数现已不再调用自个,开端将流程的主控权交回给上一层函数来履行,也即是开端履行刚刚一切test()函数没来得及输出的最终一个echo,0的一层是1也即是输出1 1的上一层是2 也即是输出2 2没有山一层 所以呢 输出的内容即是2 1 0<?>0 1 2

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
回答PHPCHINA上的几个问题:URL映射
Feb 14 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
PHP 万年历实现代码
Oct 18 PHP
使用HMAC-SHA1签名方法详解
Jun 26 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
php将远程图片保存到本地服务器的实现代码
Aug 03 PHP
教大家制作简单的php日历
Nov 17 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
PHP中的自动加载操作实现方法详解
Aug 06 PHP
PHP根据key删除数组中指定的元素
Feb 28 #PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 #PHP
PHP中rename()函数的妙用讲解
Feb 28 #PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 #PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 #PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 #PHP
PHP删除数组中特定元素的两种方法
Feb 28 #PHP
You might like
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
Python去除字符串两端空格的方法
2015/05/21 Python
pandas 数据类型转换的实现
2020/12/29 Python
python如何修改文件时间属性
2021/02/05 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
幼儿园秋游活动方案
2014/01/21 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
蜗居观后感
2015/06/11 职场文书
2016小学新学期寄语
2015/12/04 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
离婚协议书格式范本
2016/03/18 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA
Redis基本数据类型Set常用操作命令
2022/06/01 Redis