关于PHP的if else问题,谢谢

只是加了else,为什么两种代码的结果不一样?第一种情况:<?php$b=3;functionshow($b){static$a;$a+=$b;if($b>1){show... 只是加了else,为什么两种代码的结果不一样?
第一种情况:
<?php
$b=3;
function show($b){
static $a;
$a+=$b;
if($b>1){
show($b-1);
}
return $a;
}
echo show($b);//结果是6
?>
第二种情况:
<?php
$b=3;
function show($b){
static $a;
$a+=$b;
if($b>1){
show($b-1);
}else{ //这里加了else,两段代码的区别
return $a;
}
}
echo show($b);//结果是null;
?>
展开
 我来答
D丶小傻蛋
2017-07-17 · TA获得超过205个赞
知道小有建树答主
回答量:216
采纳率:83%
帮助的人:65.2万
展开全部
因为你有else的时候,$b=3是没有return的,只有$b<=1 的时候才有 return $a,这时返回到了$b=2的时候,但是$b=2的时候并没法有return $a,就是说$b=3的时候的show()函数并没有收到返回值,所以会返回 null,而没有 else 的时候,不管是哪种情况都会 return $a,这才会一级一级的再return $a,并收到show()函数的返回值!
百度网友6a6d7f5
2017-08-06 · TA获得超过230个赞
知道答主
回答量:293
采纳率:33%
帮助的人:49.3万
展开全部
我不太会但是我感觉在后盾网有一流导师可以帮助你含金量挺高的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式