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分页函数
Jul 08 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
深入array multisort排序原理的详解
Jun 18 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 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
SONY SRF-40W电路分析
2021/03/02 无线电
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
python修改操作系统时间的方法
2015/05/18 Python
Python中的集合类型知识讲解
2015/08/19 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
python同步windows和linux文件
2019/08/29 Python
Django app配置多个数据库代码实例
2019/12/17 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
爱护公共设施的标语
2014/06/24 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
趣味运动会口号
2015/12/24 职场文书