2016-04-20 2 views
-6

См. Мой код.Звездочка пирамиды в PHP

for ($row = $var; $row >= 1; --$row) { 
      for($j=0;$j<$row;++$j) 
      {echo "*";} 
      echo "</br>"; 
      echo "&nbsp"; 

Выход:

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

Но мне нужно вывод, как показано ниже:

***** 
**** 
    *** 
    ** 
    * 
+0

дублировать петлю, инвертированием, с пробелами, без
, прямо перед звездочками. – jeremy

ответ

1

Вы можете проверить некоторые из строковых функций:

<?php 

for ($i = 5; $i > 0; $i--) { 
     echo str_repeat(' ', 5 - $i).str_repeat('*',$i).PHP_EOL; 
} 

for ($i = 5; $i > 0; $i--) { 
     echo str_pad(str_repeat('*',$i),5,' ',STR_PAD_LEFT).PHP_EOL; 
} 

Это работает в командной строке, например:

PHP filename.php

+0

Это кодирование не работает правильно ... В любом случае, спасибо большое ... – Rakib

1
<?php 
$var = 5; 
echo "<div style='font-family:Courier New, Courier, monospace;'>"; 
for ($row = $var; $row >= 1; $row--) { 

    for($i=$row;$i<$var;$i++) 
    { 
    echo "&nbsp"; 
    } 

    for($j=0;$j<$row;$j++) 
    { 
    echo "*"; 
    } 
    echo "<br>"; 
} 
echo "</div>"; 
?> 
+0

Я добавил «font-family: Courier New, Courier, monospace;' часть, чтобы убедиться, что ширина каждого пространства равна ширине звездочки – Webeng

+0

Спасибо большое .. Это нормально работает .... – Rakib

+0

@ Ракиб, если он отвечает на ваш вопрос, пожалуйста, отметьте его как принятый ответ :) – Webeng