递归函数

来源:互联网 发布:一次性筷子味道知乎 编辑:程序博客网 时间:2024/05/16 09:15

代码

<span style="font-family:Times New Roman;font-size:18px;"><?phpfunction test($n) {echo $n."&nbsp;&nbsp;  ";if($n>0)test($n-1);elseecho "<-->";echo $n." &nbsp;&nbsp; ";}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
原创粉丝点击