不多说了,直接在代码中注释我的问题
<?phpfunction digui($i = 0) { if ($i < 3) { digui(++ $i); echo $i;//当满足$i < 3已经进行递归了,当不满足,也就跳过这个判断了。为什么这里会被执行! } return $i;//为什么返回的不是最后一次递归后的值,3}$r = digui();var_dump($r);
digui(++ $i);
改为
$i = digui(++ $i);
digui 函数有返回值,你总得有个人接住他吧
重点,如何让他返回3
递归的大致意思已经明白
digui(++ $i);
改为
$i = digui(++ $i);
digui 函数有返回值,你总得有个人接住他吧
函数应写成这样才合理
function digui($i = 0) { if ($i < 3) { echo $i; return digui(++ $i); } return $i;}牛叉
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号