谁能帮我分析一下,下面这段php代码的结果吗,求分析过程

<?phpfunctionabc($n){if($n>2){abc(--$n);}else{echo'$n='.$n."<br/>";}}abc(4);?>... <?php

function abc($n){

if($n>2){

abc(--$n);
}else{
echo '$n='.$n."<br/>";
}
}

abc(4);

?>
展开
 我来答
清风之无痕岁月05
2015-12-03 · TA获得超过236个赞
知道小有建树答主
回答量:487
采纳率:77%
帮助的人:145万
展开全部

画个一个函数运行内存图你自己看看 可能明白...

 

第一次带出4

第二次带入--4 =3

第三次带入 --3 =2

让后最先输出是在第三次abc 结束 后到第二个abc内输出  最后才到 第一个.

追问
我也是按你这种思路理解的,我不明白的是最后结果为什么只输出一个 $n=2  
第一次输出 $n=2 结束之后,为啥不会再输出 $n=3 呢?
追答
为什么啊  你自己看上面是不是还有一个IF $N>2

$n>2的时候 去执行abc函数了 只有当n<=2的时候才去执行 echo
看判断
2一瞬间2
2015-12-03 · TA获得超过621个赞
知道小有建树答主
回答量:677
采纳率:0%
帮助的人:352万
展开全部
结果是 $n=2<br/>
参数值4调用函数abc时一直会进行-1操作,直到减到 2 时,此时 2>2 条件为假就不再调用abc函数了,直接输出 $n=2<br/>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
招世韵0k
2015-12-03 · TA获得超过135个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:152万
展开全部
$n=4>2;
所以自减,
$n=3>2;继续自减
$n=2;
输出为$n=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式