PHP递归返回值时出现的问题解决办法分享 - Go语言中文社区

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


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

这是开始写的:
  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递归返回值出现问题时的具体解决方法。

【责任编辑:曹凯 TEL:(010)68476606】

点赞 0
版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/200911/165631.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-17 03:31:34
  • 阅读 ( 618 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢