php递归的正确写法

PHP 林涛 1144℃ 0评论

常规写法

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递归的正确写法

喜欢 (1)
发表我的评论
取消评论

表情