金字塔的星号在php中

时间:2012-11-06 12:08:09

标签: php

我在创建星号金字塔时遇到问题。 请看我的代码。

  <?php

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

    ?>

结果:

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

我的问题是我将如何做到这一点。

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

6 个答案:

答案 0 :(得分:10)

<pre><?php

$n = $i = 5;

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

?></pre>

答案 1 :(得分:4)

<center> </center>标记内使用相同的程序!像:

<center>
<?php

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

?>
</center>

答案 2 :(得分:3)

使用HTML空白字符生成空格:&amp;&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 />";
}

?>

答案 3 :(得分: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 />';
}

答案 4 :(得分: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;
    }
}

上面link

发布的Baba

答案 5 :(得分:0)

$n = 5;
$i = 0;

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

    echo "<pre>";   
    echo str_repeat("&nbsp;", $n-$i);
    echo str_repeat("#&nbsp;", $i);
}