为了账号安全,请及时绑定邮箱和手机立即绑定

php递归输出问题。

php递归输出问题。

PHP
波斯汪 2018-08-18 21:17:14
function test(){static $count = 0;$count++;echo $count;if ($count < 10) {     test();} $count--;echo $count;}test();这段代码的输出为123456789109876543210,前面输出1-109我可以想得通,但是后面输出的8-0是怎么输出的,按照我的想法,应该是输出123456789109就结束了,并没有循环来执行$count--;echo $count;的动作啊?请问我哪里错了,谢谢,我新手,大佬莫怪
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

直接跟着代码的思路逻辑一遍遍在脑海想想就知道答案的了。当你小于 10 的时候都递归运行代码,每次运行都会自增后输出,直到 $count < 10 不能满足,并执行自减输出。这会也即 9 进入 test() 自增为 10 ,然后自减。但是你别往了,因为你的代码是递归进来的,它还要一层层地出去,你进来多少层就出去多少层,因为你上面自增是一次,下面自减也是一次,所以,最终结果会和开始一样的。

查看完整回答
反对 回复 2018-08-19
  • 2 回答
  • 0 关注
  • 691 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信