У меня возникла проблема создания пирамиды звездочки. Посмотрите мой код.
<?php for($i=1;$i<=5;$i++){ for($j=1;$j<=$i;$j++){ echo "*"; } echo "<br />"; } ?>
Результат:
* ** *** **** *****
Мой вопрос в том, как я собираюсь это сделать.
* * * * * * * * * * * * * * *
<pre><?php $n = $i = 5; while ($i--) echo str_repeat(' ', $i).str_repeat('* ', $n - $i)."\n"; ?></pre>
используйте ту же программу в <center> </center>
! как:
<center> <?php for($i=1;$i<=5;$i++){ for($j=1;$j<=$i;$j++){ echo "*"; } echo "<br />"; } ?> </center>
Используйте символ пробела HTML, чтобы передать пробелы: & 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 />"; } ?>
попробуй это
$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 />'; }
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; } }
Из ссылки, вышеперечисленной Бабой
$n = 5; $i = 0; for($i=1; $i<=$n; $i++){ echo "<pre>"; echo str_repeat(" ", $n-$i); echo str_repeat("# ", $i); }