Rumah >pembangunan bahagian belakang >tutorial php >PHP递归函数的一些疑问
不多说了,直接在代码中注释我的问题
<?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;}
牛叉