浅析PHP递归函数返回值使用

开发 后端
PHP已经有悠久的历史了,文章主要介绍了PHP递归函数实际应用的问题解决方案,希望对大家有技术上的提高。

PHP经过长时间的发展,很多用户都很了解PHP了,PHP最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。

#T#在 1995年以Personal Home Page Tools (PHP Tools) 开始对外发表***个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功 能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年 中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。

在我的之前的编程中遇到了一个PHP递归函数的问题,其实是一个很简单的问题。问题出在PHP递归函数的返回值上。这是开始写的:

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

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

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


 

责任编辑:田树 来源: 博客
相关推荐

2021-08-13 11:31:23

HTTP

2010-07-21 10:32:05

Perl函数返回值

2009-11-27 16:13:21

PHP递归返回值

2023-08-07 14:52:33

WindowsExplorer进程

2010-07-20 11:37:00

Perl函数返回值

2009-11-26 15:23:24

PHP函数ereg()

2009-12-07 11:11:41

WCF返回值

2010-07-09 13:20:37

HART协议

2009-12-25 17:21:13

ADO返回值

2009-12-11 10:59:48

PHP函数extrac

2016-11-04 08:53:05

androidjava单元测试

2022-11-09 07:42:51

Python编程函数

2010-03-02 16:50:34

WCF返回值

2022-02-23 13:31:26

RVO编译器优化

2009-09-07 03:07:11

C# Main方法

2009-12-08 15:52:10

WCF回调

2021-12-19 23:58:51

Golang语言返回值

2009-11-18 16:39:51

PHP递归删除目录

2022-01-17 06:58:35

C语言函数错误码

2009-07-02 09:35:16

PHP 5克隆函数clone()函数
点赞
收藏

51CTO技术栈公众号