使用PHP的模式中的数字表

时间:2017-09-18 11:39:05

标签: php for-loop html-table nested

几天前,我发了一篇类似于this one的帖子。

我继续工作,但之后又回到了这个练习。

我需要在表中再添加2个模式。最后两个表格,我用嵌套的For-loops 做了,效果非常好,但现在又被卡住了。

我需要什么:

  

1
  2 1
  3 2 1
  4 3 2 1
  5 4 3 2 1
  6 5 4 3 2 1

我尝试了什么:

<table>
        <b>Patroon III</b>
        <?php
            $rows = 6;
            for($row = 1; $row <= $rows; $row++){
                echo "<tr>";
                for($col = 6; $col >= $row; $col--){
                    if($col <= $row){ 
                        echo "<td class='td2'>" . $col . "</td>";
                    }
                    else {
                        echo "<td class='td2'>" . " " . "</td>";
                    }
                }
                echo "</tr>";
            }
        ?>
</table>

我得到了什么:

  

1
  2
  3
  4
  5
  6

我需要的第二张表:

  

1 2 3 4 5 6
  2 3 4 5 6
  3 4 5 6
  4 5 6
  5 6
  6

我尝试了什么:

<table>
    <b>Patroon IV</b>
    <?php
        $rows = 6;
        for($row = 1; $row <= $rows; $row++){
            echo "<tr>";
            for($col = 1; $col <= $row; $col++){
                if($col >= $row){ 
                    echo "<td class='td2'>" . $col . "</td>";
                }
                else {
                    echo "<td class='td2'>" . " " . "</td>";
                }
            }
            echo "</tr>";
        }
    ?>
</table>

我得到了什么:

  

1
  2
  3
  4
  5
  6

有什么建议吗?我正在考虑另一个嵌套的for循环,但我不知道从哪里开始。不确定是否需要if-else语句。

1 个答案:

答案 0 :(得分:0)

这是php中最基本的东西。你只需要考虑逻辑。就是这样。

以下是您的问题解决方案

<b>Patroon III</b>
<table border=1>

        <?php
            $rows = 6;
            for($row = 1; $row <= $rows; $row++){
                echo "<tr>";
                for($col = 6; $col >= 1; $col--){
                    if($col <= $row){ 
                        echo "<td class='td2'>" . $col . "</td>";
                    }
                    else {
                        echo "<td class='td2'>" . " " . "</td>";
                    }
                }
                echo "</tr>";
            }
        ?>
</table>
<b>Patroon IV</b>
<table border=1>
    <?php
        $rows = 6;
        for($row = 1; $row <= $rows; $row++){
            echo "<tr>";
            for($col = 1; $col <= $rows; $col++){
                if($col >= $row){ 
                    echo "<td class='td2'>" . $col . "</td>";
                } else {
                    echo "<td class='td2'>" . " " . "</td>";
                }
            }
            echo "</tr>";
        }
    ?>
</table>