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 相关文章推荐
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
php判断用户是否关注微信公众号
Jul 22 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
Laravel5.1框架路由分组用法实例分析
Jan 04 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学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
php中autoload的用法总结
2013/11/08 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
js闭包的用途详解
2014/11/09 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
python实现感知机模型的示例
2020/09/30 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
高等教育专业自荐信范文
2014/03/26 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫
MySQL GTID复制的具体使用
2022/05/20 MySQL
Nginx报404错误的详细解决方法
2022/07/23 Servers