PHP嵌套for循环内部for循环
在过去的3个小时里,我一直在努力解决这个问题,所以很难找到“嵌套for loop in for loop”的搜索结果,所以我必须问这个问题,有人可以帮助澄清这个问题,因为这是一个业余问题,非常感谢所有的帮助 因此,我在下面有一段代码,用于我在 关于那一页的问题3。最终结果也应该在该页面上PHP嵌套for循环内部for循环,php,for-loop,nested-loops,Php,For Loop,Nested Loops,在过去的3个小时里,我一直在努力解决这个问题,所以很难找到“嵌套for loop in for loop”的搜索结果,所以我必须问这个问题,有人可以帮助澄清这个问题,因为这是一个业余问题,非常感谢所有的帮助 因此,我在下面有一段代码,用于我在 关于那一页的问题3。最终结果也应该在该页面上 <?php for($a = 1; $a <= 5; $a++) { for($b = 1; $b <= $a; $b++) { echo "*
<?php
for($a = 1; $a <= 5; $a++) {
for($b = 1; $b <= $a; $b++) {
echo "*";
if($b < $a) {
echo " ";
}
}
echo "<br />";
}
?>
它变成了一个三角形,由15个小的*
我正试图弄清楚这到底是怎么回事,因为即使网站上有答案,我也想理解,这样我就可以自己写东西,而不是复制粘贴
下面是我在阅读了php.net
并试图在谷歌上寻找解决方案后所了解到的内容
因此,$a
for
循环开始时为true,因此循环继续到$b for
循环,它为true,因此它将回显*
,此时$b
不是
因为循环尚未结束,所以+
尚未添加;如果语句为false,所以我们
并重新运行循环
第二次。现在$a=2
和for
循环仍然是真的,所以它将继续$b
for循环和echo*
。这就是我感到困惑的地方。$b
在它的语句末尾有++
,所以它不意味着在循环1之后$b=2
和if
仍然为false吗
在我的脑海里,我一直认为它应该打印出来,就像:
*
*
与此相反:
*
***
我的结论
$b
值将在每次循环后重置回1,并重复自身,直到语句为false时为止
或
打印的*
将被存储,并将成为每个循环开始时的自动起点。我明白如果为($I=0;$I的做一个简单的打印,让我们一步一个脚印
外环
for($a = 0; $a <= 5; $a++) {
//inner loop here
echo "<br>"; //after the inner loop has executed, start a new line
}
哦,++
在变量之后意味着将其值增加1。在for循环中,这意味着在下一次运行时,将1添加到计数器的值。您也可以将其写入
for($a=0; $a<=5; $a=$a+1) // thats the same as $a++;
for($a=0;$a)您现在的问题是什么?这是如何工作的?将echo“”替换为echo“;因为html将多个空格视为空白,并将它们计算为一个空格。这个问题属于Hey@Rizier123,是的,很抱歉让人困惑,我发现很难理解它是如何工作的。我已经写下了两个结论,解释了为什么我认为这行得通,但不确定其中是否有一个是正确的。我知道,我这样做很奇怪king对一个工作的代码块很感兴趣,但它让我非常困扰,我不知道它为什么能工作=\Hi@Hanky웃 Panky,谢谢你的回复,非常感谢你花时间来帮助我!我还有一个问题,我仍然觉得很难回答。比如说第二个循环。现在$a=2和$b=1。PHP怎么知道打印两个*星?要重新运行循环,$b不需要只打印一个*就可以了吗=$a、 或者它会从上一个循环中带出一颗星吗?嗨,汉基,对不起,我的评论是错的,我的意思是:比如说第二个循环。现在$a=1和$b=2实际上,我现在明白了,哈哈,感谢上帝。谢谢你的帮助,你的真棒!!:)$a=1,$b=2意味着从1开始,一直到2,这意味着运行2次,因此两颗星,正如您正确理解的:)
for($b = 1; $b <= $a; $b++) {
echo "*";
}
for($a=0; $a<=5; $a=$a+1) // thats the same as $a++;
for($a=0; $a<=5; $a=$a+2) // a will be 0 , 2, 4