递归函数
来源:互联网 发布:一次性筷子味道知乎 编辑:程序博客网 时间:2024/05/16 09:15
代码
<span style="font-family:Times New Roman;font-size:18px;"><?phpfunction test($n) {echo $n." ";if($n>0)test($n-1);elseecho "<-->";echo $n." ";}test(10);?></span>
结果
10 9 8 7 6 5 4 3 2 1 0 <-->0 1 2 3 4 5 6 7 8 9 10
理解
从函数调用的时候内存中变化来理解,在一段php程序里面,每次执行到函数部分时,内存都会开辟一片新的空间,(姑且称之为空间吧),当遇到一个函数开辟一个空间的时候,也就是说$n=10的时候,先执行第一个echo $n." ",这里输出一个数字10吧,然后进入判断语句,遇到test()函数,开辟一个新空间,先不去看新空间里面有什么,下面的echo $n." ";肯定还是要执行的,现在等于说输出了这样的一个结果10 test(9) 10,下面再看test9的情况,同理是不是输出了10 9 test(8) 9 10,继续执行下去...按照回字来理解。
0 0
- [递归]递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 函数递归
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 函数递归
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 一台机器多个应用实例配置
- Android源码分析—带你认识不一样的AsyncTask(串并行)
- 电商平台的服务接口网关
- com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1问题出现的原因及解决办法
- modelsim-win64-10.4-se 下载、安装、破解全攻略
- 递归函数
- Another app is currently holding the yum lock; waiting for it to exit...
- 怎样成为一个天才
- 错误:unrecognized command line option “-std=c++11”
- 关于今天扩展界面不显示出来的问题
- linux文件权限以及权限修改命令
- Android之Intent
- 电商平台稳定性的保证 分布式压力测试
- NGINX 配置Thinkphp