关于PHP的for循环嵌套问题,需要讲详细点(请高手们仔细看题)

for($i=1;$i<=9;$i++){echo$j,'';for($j=1;$j<=$i;$j++){}为什么输出结果是?Notice:Undefinedvariab... for($i=1;$i<=9;$i++){
echo $j,' ';
for($j=1;$j<=$i;$j++){
}
为什么输出结果是?
Notice: Undefined variable: j in C:\wamp\www\zhlx3.php on line 3
2
3
4
5
6
7
8
9
for($i=1;$i<=9;$i++){
for($j=1;$j<=$i;$j++){
}
echo $j,' ';
echo'<br/>';
}
为什么输出结果是?
2
3
4
5
6
7
8
9
10
for($i=1;$i<=9;$i++){
//echo $i,'......';
for($j=1;$j<=$i;$j++){
echo $j,' ';
}
为什么输出结果又是这样?

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
我是新手,被绕糊涂了,说白了就是不明白为什么echo $j放在三个地方为什么会输出不一样的结果。因此请高手告知三种输出结果在各自执行过程中详细的步骤。请高手耐心解答,顺便讲解一下for循环嵌套的执行顺序和原理。高分答谢!
展开
 我来答
创作者BbPV9CfuDM
推荐于2017-10-12 · TA获得超过1445个赞
知道小有建树答主
回答量:977
采纳率:85%
帮助的人:185万
展开全部
第一个:
for($i=1;$i<=9;$i++){
echo $j,' '; //第一次进来,$j 未定义,所以警告
for($j=1;$j<=$i;$j++){ //进到这来,$j =1 已定义的$j 且$j ++ $j这成了2 ,之后类似
}
}
第二个:
for($i=1;$i<=9;$i++){
for($j=1;$j<=$i;$j++){
} //执行完内层for循环,$j=1 然后$j++ 这成2,之后类似
echo $j,' ';
echo'<br/>';
}
第三个:
for($i=1;$i<=9;$i++){
//echo $i,'......';
for($j=1;$j<=$i;$j++){
echo $j,' '; //$j 在内层for中输出,由于内层的$i从1递增到9,$j输出的个数就是$i,$j 每次递增1 所以就输出你那的结果
}
}

for($j=1;$j<=$i;$j++){ for循环 先定义变量$j=1,然后判断$j<=$i是还否为真,为真则执行{}的内容,执行完在执行$j++,在判断$j<=$i, 直到判断为假时退出。
匿名用户
2014-11-28
展开全部
两层循环嵌套,你刚学就想了解清楚,糊涂不奇怪

先搞清楚代码的执行顺序才能明白

这个循环先执行第一层的,比如i=1的时候,第二层循环不会执行。
追问
能认真回答吗?朋友。我想知道的不是这个,而是产生3种输出结果的各自的执行步骤。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式