博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php递归函数return会出现无法正确返回想要值的情况
阅读量:6947 次
发布时间:2019-06-27

本文共 476 字,大约阅读时间需要 1 分钟。

php递归函数中使用return的时候会碰到无法正确返回想要的值得情况,如果不明白其中的原因,很难找出错误的,就下面的具体例子来说明一下吧:

 

1
2
3
4
5
6
7
8
9
function 
test(
$i
){
    
$i
-=4;
    
if
(
$i
<3){
        
return 
$i
;
    
}
else
{
        
test(
$i
);
    
}
}
echo 
test(30);

这段代码看起来没有问题,如果不运行一下估计你也不会认为他有什么问题,及时运行起来发现有问题你也不一定知道哪里有问题,但其实这个函数的else里面是有问题的。在这段代码里面执行的结果是没有返回值的。

所以虽然满足条件 $i<3 时return $i整个函数还是不会返回值的。因此对上面的PHP递归函数可做如下修改:

1
2
3
4
5
6
7
8
9
function 
test(
$i
){
    
$i
-=4;
    
if
(
$i
<3){
        
return 
$i
;
    
}
else
{
        
return 
test(
$i
);
//增加return,让函数返回值
    
}
}
echo 
test(30);

转载地址:http://behnl.baihongyu.com/

你可能感兴趣的文章
econtrol窗体设计器
查看>>
TPath
查看>>
Dell U2913WM使用感受
查看>>
关于document.createDocumentFragment()(转)
查看>>
3款新鲜的CSS3&amp;HTML5框架
查看>>
【评论】GNU/Linux下有多少是GNU的?
查看>>
NoSQL非关系型数据库
查看>>
C++函数
查看>>
sql 2005 清除日志
查看>>
netbeans 快捷键
查看>>
C#事件-什么是事件
查看>>
微软职位内部推荐-Software Engineer II
查看>>
香农定律和奈奎斯特准则
查看>>
每秒处理3百万请求的Web集群搭建-用 LVS 搭建一个负载均衡集群
查看>>
js toggle事件
查看>>
WebViewJavascriptBridge
查看>>
js 返回并刷新
查看>>
append()与extend()
查看>>
ASPxGridview使用总结(DEVExpress)
查看>>
.NET设计模式(9):桥接模式(Bridge Pattern)
查看>>