2014-01-11 3 views
0

Это нормальная пирамида горизонтальный блок динамической как горизонтах = 5PHP: Сформировать динамический числовая пирамида

$k = 10; 
$last = 2; 
    for($i=0;$i<=$last;$i++){ 

     for($t = 1;$t <= $last-$i;$t++) 
     { 
      echo "&nbsp;&nbsp;"; 
     } 
     for($j=1;$j<=$i+$i;$j++) 
     { 
      $k--; 
      echo "$k&nbsp;&nbsp;"; 
     } 
    echo "<br>"; 

, но мне нужно это Потушить:

enter image description here

возможно ли это? любая помощь. спасибо.

+0

код вы вывесили неполно и печатает что-то, который не выглядит как пирамида. – idmean

+0

Пожалуйста, отметьте ответ от 'Niet the Dark Absol', когда он соответствует вашему вопросу. – demonking

ответ

6

Вот намного опрятнее способ сделать это:

Во-первых, создавать пирамиду массив:

$width = 5; 
$pyramid = array(); 
$number = 0; 
while($width > 0) { 
    $row = array(); 
    for($i=0; $i<$width; $i++) { 
     $row[] = ++$number; 
    } 
    $pyramid[] = $row; 
    $width -= 2; 
} 

Это даст вам пирамиды в массиве снизу вверх. Так что просто переверните его:

$pyramid = array_reverse($pyramid); 

И теперь делают это:

echo '<div style="text-align:center">'; 
foreach($pyramid as $row) { 
    echo implode(" ",$row).'<br />'; 
} 
echo '</div>'; 
+0

Большое спасибо – Shawon

Смежные вопросы