PHP嵌套for循环内部for循环

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 "*

在过去的3个小时里,我一直在努力解决这个问题,所以很难找到“嵌套for loop in for loop”的搜索结果,所以我必须问这个问题,有人可以帮助澄清这个问题,因为这是一个业余问题,非常感谢所有的帮助

因此,我在下面有一段代码,用于我在 关于那一页的问题3。最终结果也应该在该页面上

<?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