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

开发 后端
PHP递归返回值时会出现执行的test没有返回值这样的问题,那么该如何解决这一问题呢?我们在接下来的文章中做了具体的介绍。

我们在使用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递归返回值出现问题时的具体解决方法。

责任编辑:曹凯 来源: 网易博客
相关推荐

2009-11-30 13:04:38

PHP获取Oracle

2010-06-10 15:46:33

openSUSE 无声

2010-05-19 18:56:17

2009-07-06 15:23:18

JSP换行

2009-11-17 16:16:59

PHP递归函数

2011-08-22 14:10:51

nagios

2011-04-27 16:04:12

投影机

2009-12-03 17:36:02

PHP Date()出

2009-12-02 18:16:35

PHP mail发送邮

2010-08-27 13:31:58

IE6IE7Firefox

2010-08-17 13:36:49

DIV CSS设计

2009-11-30 12:58:04

PHP字符集编码

2009-11-30 10:09:31

PHP中文乱码

2009-12-03 15:58:02

PHP整数取余返回负数

2010-07-20 11:37:00

Perl函数返回值

2010-06-17 14:16:24

SQL Server补

2010-12-29 10:48:31

微软认证

2021-08-13 11:31:23

HTTP

2009-11-27 09:55:11

PHP截取中文字符

2010-08-06 10:49:16

FlexJsp
点赞
收藏

51CTO技术栈公众号