常规写法
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
如需转载请注明: 转载自26点的博客
本文链接地址: php递归的正确写法
转载请注明:26点的博客 » php递归的正确写法