PHP递归返回值时出现的问题解决办法分享

我们在使用PHP递归时,会遇到各种各样的问题,其中比较令人苦恼的是有关PHP递归返回值时出现的问题。其实细细想想这是一个很简单的问题。可就是这个简单的问题困扰了半个下午。问题出在递归函数的返回值上。

#t#这是开始写的:

  1. < ?php  
  2. function test($i)  
  3. {  
  4. $i -= 4;  
  5. if($i < 3)  
  6. {  
  7. return $i;  
  8. }  
  9. else   
  10. {  
  11. test($i);  
  12. }  
  13. }  
  14. echo test(30);  
  15. ?> 

这段代码看起来没有问题,其实有else里面是有问题的。在这里执行的test没有返回值。所以虽然满足条件$i < 3时 return $i整个函数还是不会返回值的。对上面的PHP递归返回值函数做如下修改:

 
 
 
  1. < ?php  
  2. function test($i)  
  3. {  
  4. $i -= 4;  
  5. if($i < 3)  
  6. {  
  7. return $i;  
  8. }  
  9. else   
  10. {  
  11. return test($i); //增加return, 让函数返回值  
  12. }  
  13. }  
  14. echo test(30);  
  15. ?> 

以上代码示例就是PHP递归返回值出现问题时的具体解决方法。

网站名称:PHP递归返回值时出现的问题解决办法分享
本文网址:http://www.shufengxianlan.com/qtweb/news4/378954.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联