-8

アスタリスクのピラミッドを作成するのに問題があります。私のコードを見てください。

  <?php

    for($i=1;$i<=5;$i++){
        for($j=1;$j<=$i;$j++){
                    echo "*";
        }
        echo "<br />";
    }

    ?>

結果:

*
**
***
****
*****

私の質問は、どうやってそれをそのようにするのかということです。

    *
   * *
  * * *
 * * * * 
* * * * *
4

6 に答える 6

10
<pre><?php

$n = $i = 5;

while ($i--)
    echo str_repeat(' ', $i).str_repeat('* ', $n - $i)."\n";

?></pre>
于 2012-11-06T12:30:38.920 に答える
4

<center> </center>タグ内で同じプログラムを使用してください!お気に入り:

<center>
<?php

    for($i=1;$i<=5;$i++){
        for($j=1;$j<=$i;$j++){
                    echo "*";
        }
        echo "<br />";
    }

?>
</center>
于 2013-09-01T13:37:04.197 に答える
3

HTML空白文字を使用して、空白を削除します。&nbsp;

だからこのようなもの:

<?php
// pyramid height
$height = 5;

for($i=1;$i<=$height;$i++){

    for($t = 1;$t <= $height-$i;$t++)
    {
        echo "&nbsp;&nbsp;";
    }

    for($j=1;$j<=$i;$j++)
    {
        // use &nbsp; here to procude space after each asterix
        echo "*&nbsp;&nbsp;";
    }
echo "<br />";
}

?>
于 2012-11-06T12:14:07.360 に答える
1

これを試して

$height = 5;

$space = $height;
for($i = 1; $i <= $height; $i++) {
    echo str_repeat(' ', --$space);
    for($j=1;$j<=$i;$j++){
        if($j > 1) {
            echo ' ';
        }
        echo '*';
    }
    echo '<br />';
}
于 2012-11-06T12:22:01.363 に答える
1
create_pyramid("*", 5);

function create_pyramid($string, $level) {
    echo "<pre>";
    $level = $level * 2;
    for($i = 1; $i <= $level; $i ++) {
        if (!($i % 2) && $i != 1)
            continue;   
        print str_pad(str_repeat($string, $i),($level - 1) * strlen($string), " " , STR_PAD_BOTH);
        print PHP_EOL;
    }
}

馬場が上に投稿したリンクから

于 2012-11-06T12:22:25.323 に答える
0
$n = 5;
$i = 0;

for($i=1; $i<=$n; $i++){

    echo "<pre>";   
    echo str_repeat("&nbsp;", $n-$i);
    echo str_repeat("#&nbsp;", $i);
}
于 2014-04-14T13:42:24.607 に答える