PHP 递归函数问题
<?php$num=3;functionsum($num){static$tot;if($num>=1){$tot+=$num;returnsum(--$num);}el...
<?php
$num=3;
function sum($num){
static $tot;
if($num>=1){
$tot+=$num;
return sum(--$num);
}else{
return $tot;
}
}
echo sum($num);
?>
这是正确的 可以输出6
下面是错误的
<?php
$num=3;
function sum($num){
static $tot;
if($num>=1){
$tot+=$num;
sum(--$num);
}else{
return $tot;
}
}
为什么加了return后 能正确输出6
echo sum($num);
?> 展开
$num=3;
function sum($num){
static $tot;
if($num>=1){
$tot+=$num;
return sum(--$num);
}else{
return $tot;
}
}
echo sum($num);
?>
这是正确的 可以输出6
下面是错误的
<?php
$num=3;
function sum($num){
static $tot;
if($num>=1){
$tot+=$num;
sum(--$num);
}else{
return $tot;
}
}
为什么加了return后 能正确输出6
echo sum($num);
?> 展开
2个回答
2015-07-07
展开全部
echo sum($num);的作用是输出sum函数的返回值,你不return返回的就是空,当然不能输出正确值
追问
可以详细解释一些这段代码的运行步骤吗?
追答
就是符合$num>=1是不停再次调用函数自身。没有return返回$tot的最终值也是6,只是没有return的话无法输出而已
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询