2014-01-11 27 views
0

這是一個正常的金字塔水平塊動態像HOR = 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