使用PHP绘制嵌套循环模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHP绘制嵌套循环模式相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个倒置的半金字塔。金字塔需要有一个介于1和20之间的随机数。金字塔顶部会有一个刷新按钮,当点击它时,它将生成一个新的兰特(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 --;
}

以上是关于使用PHP绘制嵌套循环模式的主要内容,如果未能解决你的问题,请参考以下文章

嵌套的while循环只输出一行来选择php中的标签

使用嵌套片段和动画对象

需要帮助的第一年大学家庭作业问题循环

女神节简单使用C/C++和Python嵌套for循环生成一个小爱心

[工作积累] UE4 并行渲染的同步 - Sync between FParallelCommandListSet & FRHICommandListImmediate calls(代码片段

将片段添加到片段中(嵌套片段)