浅析PHP递归函数返回值使用
PHP经过长时间的发展,很多用户都很了解PHP了,PHP最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。
- 经验总结PHP应用技巧
- 经验之谈PHP表单重复提交问题解决方案
- 关于Apache 2.0和PHP5.0安装详解
- 高手指南PHP安装配置
- 主流Apache 2 PHP5安装使用介绍
在我的之前的编程中遇到了一个PHP递归函数的问题,其实是一个很简单的问题。问题出在PHP递归函数的返回值上。这是开始写的:
- <?php
- functiontest($i)
- {
- $i-=4;
- if($i<3)
- {
- return$i;
- }
- else
- {
- test($i);
- }
- }
- echotest(30);
- ?>
这段代码看起来没有问题,其实有else里面是有问题的。在这里执行的test没有返回值。所以虽然满足条件$i<3时return$i整个函数还是不会返回值的。对上面的PHP递归函数做如下修改:
- <?php
- functiontest($i)
- {
- $i-=4;
- if($i<3)
- {
- return$i;
- }
- else
- {
- returntest($i);//增加return,让函数返回值
- }
- }
- echotest(30);
- ?>
PHP之友评论