我在创建星号金字塔时遇到问题。 请看我的代码。
<?php
for($i=1;$i<=5;$i++){
for($j=1;$j<=$i;$j++){
echo "*";
}
echo "<br />";
}
?>
结果:
*
**
***
****
*****
我的问题是我将如何做到这一点。
*
* *
* * *
* * * *
* * * * *
答案 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 " ";
}
for($j=1;$j<=$i;$j++)
{
// use here to procude space after each asterix
echo "* ";
}
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(" ", $n-$i);
echo str_repeat("# ", $i);
}