php递归函数中使用return的注意事项_PHP
程序员文章站
2022-05-30 11:26:13
...
php递归函数中使用return的时候会碰到无法正确返回想要的值得情况,如果不明白其中的原因,很难找出错误的,就下面的具体例子来说明一下吧:
复制代码 代码如下:
function test($i){
$i-=4;
if($ireturn $i;
}else{
test($i);
}
}
echotest(30);
这段代码看起来没有问题,如果不运行一下估计你也不会认为他有什么问题,及时运行起来发现有问题你也不一定知道哪里有问题,但其实这个函数的else里面是有问题的。在这段代码里面执行的结果是没有返回值的。所以虽然满足条件 $i复制代码 代码如下:
function test($i){
$i-=4;
if($ireturn $i;
}else{
return test($i);//增加return,让函数返回值
}
}
echotest(30);
复制代码 代码如下:
function test($i){
$i-=4;
if($ireturn $i;
}else{
test($i);
}
}
echotest(30);
这段代码看起来没有问题,如果不运行一下估计你也不会认为他有什么问题,及时运行起来发现有问题你也不一定知道哪里有问题,但其实这个函数的else里面是有问题的。在这段代码里面执行的结果是没有返回值的。所以虽然满足条件 $i复制代码 代码如下:
function test($i){
$i-=4;
if($ireturn $i;
}else{
return test($i);//增加return,让函数返回值
}
}
echotest(30);
推荐阅读
-
php in_array 函数使用说明与in_array需要注意的地方说明
-
PHP中strtotime函数使用方法详解
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
php中mail函数发送邮件失败的解决方法
-
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
-
PHP5中使用PDO连接数据库的方法
-
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
-
php中static静态变量的使用方法详解
-
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
-
php error_log 函数的使用