PHP递归的正确写法
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
本文属原创,转载请注明原文:http://www.zhimatong.com/jiaocheng/608.html
为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。
内容有用