我尝试在while
内执行while
打印乘法表,例如,
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
但我只得到1,2,3,4,5。
$i = 1;
$x = 1;
while($i <= 5){
while($x <= 5){
echo $i * $x;
$x++;
}
echo "<br>";
$i++;
}
答案 0 :(得分:2)
您需要重置$x
,所以:
$i = 1;
$x = 1;
while($i <= 5){
while($x <= 5){
echo $i * $x;
$x++;
}
$x = 1; // added this line
echo "<br>";
$i++;
}
输出:
12345
246810
3691215
48121620
510152025
然后,您可以执行您想要格式化的内容。
更详细的解释:
它进入外部和内部循环,显示第一行的所需输出。最终得到$i = 2
和$x = 6
。
由于$i
是2
,它不会离开外循环,但$x
是6
,所以它不会进入内部再次循环。
然后不断将1
添加到$i
,直到它不再与外部循环条件匹配,并留下不需要的结果。
答案 1 :(得分:2)
这种情况正在发生,因为当内部循环完成其迭代时,您不会重置$x
。试试这个:
$i = 1;
while($i <= 5) {
$x = 1;
while($x <= 5) {
echo $i * $x;
$x++;
}
echo "<br>";
$i++;
}
答案 2 :(得分:1)
使用此
这是因为在外部initialized
完成其$x
之后,您的while loop
cycle
没有inner loops
。所以在一个周期<?php
$i = 1;
while($i <= 5) {
$x = 1;
while($x <= 5) {
echo $i * $x;
$x++;
}
echo "<br>";
$i++;
}
没有运行
admin
答案 3 :(得分:0)
php代码:
$i = 1;
while($i <= 5){
$x = 1;
while($x <= 5){
echo $i * $x." ";
$x++;
}
echo "<br/>";
$i++;
}
<强>结果:强>
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25