这篇文章介绍的内容是关于php递归无法返回问题,递归正确写法 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
function digui($tiaojian){ if ($tiaojian) { return $data; } else{ return digui(); } }
注意:条件不成立时,一定要return 递归函数。不然无法正常返回
如果递归只是为了输出。可以简写:
function digui($tiaojian){ if ($tiaojian) { echo $data; } else{ digui(); } }
function digui($tiaojian,&$result){ if ($tiaojian) { $result=$data; } else{ digui(); } }
function digui(){ static $count=0; echo $count; $count++; } digui(); digui(); digui(); digui(); digui();
输出结果为:0 1 2 3 4
注意:静态变量方法一定要谨慎使用。因为每次调用该方法的时候,都会对原来最早定义这个变量方法的基础上去操作。
甚至 unset 对静态变量也无法销毁
function digui(){ static $count=0; echo $count; $count++; unset($count); } digui(); digui(); digui(); digui(); digui();
这段代码依旧输出 0 1 2 3
相关推荐:
以上是php递归无法返回问题,递归正确写法 的详细内容。更多信息请关注PHP中文网其他相关文章!