这篇文章介绍的内容是关于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
相关推荐: