php 编写的九九乘法表,大家帮我解释一下。

for($a=1;$a<=9;$a++){for($b=1;$b<=$a;$b++){echo$a."x".$b."=".$b*$a."";}echo"<br>";}这个... for($a=1;$a<=9;$a++)
{
for($b=1;$b<=$a;$b++)
{
echo $a."x".$b."=".$b*$a." "; }
echo "<br>";
}

这个两个for循环的执行顺序是怎么执行的?
当$a=1时,执行$a<=9,之后执行第二个for循环,$b=1,$b<=$a,输出$a."x".$b."=".$b*$a." ";此时程序是去执行第一个for循环$a++,还是执行第二个for循环$b++?
展开
 我来答
风中的花朵1990
推荐于2016-10-23 · TA获得超过712个赞
知道小有建树答主
回答量:905
采纳率:66%
帮助的人:412万
展开全部
for循环是先执行里面的for循环,再执行外面的for循环。

首先是 $a = 1 满足 $a <= 9 的条件,然后就执行里面的for循环,此时让 $b = 1,$b <= $a 满足了,就执行第二个for循环,输出 1 x 1 = $a * $b ,执行完以后执行 $b++ ,结果是 $b = 2,此时$b($b = 1) <= $a($a = 1),不满足了,等于第二个for循环结束了,然后就执行 $a++,结果是$a = 2,然后继续执行里面的for循环for($b=1;$b <= 2;$b++) 此时里面的for循环执行了两次, 2 x 1 = 2 *1,2 x 2 = 2 * 2 ,然后$b($b = 2) <= $a($a = 2)条件不满足,里面的循环结束,重新执行第一个for循环。

结果是
1 x 1 = 1 * 1
2 x 1 = 2 *1 2 x2 = 2 *2
3 * 1 = 3 * 1 3 x 2 =3*2 3 x 3 = 3 * 3 依次类推,就是这样的,
追问
当$b=2的时候,执行$b<=$a ($a=1)不成立,则返回第一个for循环的$a++,此时$a=2,满足$a<=9,执行第二个for循环,这时候的第二个for循环的$b是=1还是$b=原来已经执行$b++后的值2?
追答
$b 肯定是 1 了,你 $a = 2 的时候, $a <= 9  需要重新执行里面的for循环,会重新执行
for($b = 1; $b <= $a; $b++){} 这样,会导致$b = 1的,有从 1 重新开始了
a0shashen03
2013-12-14 · TA获得超过137个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:180万
展开全部
$a=1
$a<=9//true
$b=1
$b<=$a//1<=1    true
echo $a."x".$b."=".$b*$a." ";//输出:1X1=1
$b++//$b=2
$b<=$a//2<=1    false    循环结束
echo "<br>";                                    输出:换行
$a++//$a=2
继续上面的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上官元恒zsd
2013-12-14 · TA获得超过1770个赞
知道小有建树答主
回答量:3799
采纳率:28%
帮助的人:1186万
展开全部
先内后外
有什么问题吗??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式