0

以下のコードでASCIIアートピラミッドを使用してピラミッドを描画できます。

<center>
<?php 

$number = 10;

for($i=0;$i<$number;$i++)
{
    for($a=0;$a<$number-$i;$a++)
    {
        echo $i;
    }
    echo '<br/>';
}
?>
</center>

しかし、$number9より大きいもの(たとえば10)に設定すると、10は2つの文字で構成されているため、これは機能しなくなります。したがって、数字が2文字で構成されていて、元々印刷されるn回数である場合は、n/2回だけ印刷する必要があります。

しかし、私はそれを行う方法がわかりません、あなたは私がそれを書くのを手伝ってくれますか?

サンプル出力:

ピラミッド

4

2 に答える 2

0
<style type="text/css">
    div {
        width: 20px;
        display: inline-block;
    }
</style>

<center>
    <?php

    $number = 20;

    for ($i = 0; $i < $number; $i++) {
        for ($a = 0; $a < $number - $i; $a++) {
            echo '<div>' . $i . '</div>';
        }
        echo '<br/>';
    }
    ?>
</center>

また

<center>
    <?php

    $number = 20;

    for ($i = 0; $i < $number; $i++) {
        if ($i > 9) {
            $j = $i + round($i / 2);
        } else {
            $j = $i;
        }
        for ($a = 0; $a < $number - $j; $a++) {
            echo $i;
        }
        echo '<br/>';
    }
    ?>
</center>
于 2013-03-03T13:16:52.693 に答える
-1

私はPHPを練習しているだけで、PHPの知識を広げるためにここに来て、この質問を見つけました. 1年前なのに。しかし、私はこれについて解決策を見つけました。ですから、この問題を解決するのはとても簡単だと思います。

for ($row=0; $row <= 9; $row++) {

for ($space=1; $space <= $row; $space++) {      
    echo "&nbsp;";
}

for ($col=$row; $col < 10; $col++) { 
    echo $row . " ";
}
echo "<br>";    

}

出力は

ここに画像の説明を入力

于 2014-12-26T03:30:52.900 に答える