关于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循环嵌套的执行顺序和原理。高分答谢! 展开
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循环嵌套的执行顺序和原理。高分答谢! 展开
展开全部
第一个:
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, 直到判断为假时退出。
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的时候,第二层循环不会执行。
先搞清楚代码的执行顺序才能明白
这个循环先执行第一层的,比如i=1的时候,第二层循环不会执行。
追问
能认真回答吗?朋友。我想知道的不是这个,而是产生3种输出结果的各自的执行步骤。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询