使用 PHP 绘制具有嵌套循环的模式



我正在尝试创建一个颠倒的半金字塔。金字塔需要有一个介于 1 和 20 之间的随机数。金字塔顶部将有一个刷新按钮,单击该按钮时,它将生成一个新的 rand(1,20( 金字塔图案。它看起来像这样

****
 ***
  **
   *

我不知道我是否正确地为 PHP 编写了代码。一些指导会很棒。

PHP代码如下

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <h2>Drawing a Pattern with Nested Loops</h2>
        <input type="submit" value="Refresh" onclick=""window.location.reload()"/>
        <?php
            $star = rand(1,20);
            $row = 1;
            $col =1;
               while($row <= $star) {
                   for($col = 1; $col < $row; $col++)
                   {
                       echo " * ";
                   }
                   echo "<br>";
                   $col--;
               }
   </body>
</html>

最简单的方法是

$star = rand(1,20);
while($star) {
   echo str_repeat('*', $star) . '<br>';
   $star --;
}

但是,如果您需要使用嵌套循环,则可以将str_repeat替换为如下所示的循环

$star = rand(1,20);
while($star) {
    for ($i = 0; $i < $star; $i++) {
        echo '*';
    }
    echo '<br>';
    $star --;
}

虽然在我看来foreach会更干净

$star = rand(1,20);
while($star) {
    foreach(range(1,$star) as $index) {
        echo '*';
    }
    echo '<br>';
    $star --;
}

最新更新