2016-10-10 72 views
-3

我已經試過這個代碼和輸出我得到在PHP印刷星星圖案是這裏沒有得到輸出預計在

<?php 
    for($i=1;$i<=5;$i++){ 
     for($j=5-$i;$j>=1;$j--){ 
      echo "&nbsp;"; 
      echo "&nbsp;"; 
     } 
     for($k=1;$k<=$i;$k++){ 
      echo $i; 
     } 
     echo "<br/>"; 
    } 
    ?> 
     1 
    22 
    333 
    4444 
    55555 

,但我想這樣的輸出,請告訴我哪裏錯了

1 
    12 
    123 
1234 
12345 
+0

你應該發佈一些代碼。 –

+0

取這個for循環:'for($ k = 1; $ k <= $ i; $ k ++){echo {i; }'並用一些示例數字替換變量,然後拿起一張紙並寫下每次迭代得到的結果。 – Rizier123

+0

這看起來非常像家庭作業 - 你應該自己做。 –

回答

0

只要改變回聲$ I呼應$ K,

for($k=1;$k<=$i;$k++){ 
    echo $k; 
} 
+0

謝謝@Yuva拉傑它的工作,一件事更多,如果我想打印簡單的金字塔樣式將代碼保持不變,我必須改變只有空格請告訴。 –

0

既然你與HTML工作,你可能希望將此邏輯封裝成函數,可以讓您選擇要顯示的行數。你可以調整它適合在CSS的期限您的需求:

function numberTriangle($endNumber, $align_text = 'right') { 
    $max = intval($endNumber); 
    $align = strval($align_text); 
    $align = (strlen(trim($align)) > 0) ? $align : 'right'; 

    echo "<div style='text-align : $align; display : inline-block'>"; 

    if($max > 0) { 
     for($i = 1; $i < $max + 1; $i++) { 
      for($j = 1; $j < $i + 1; $j++) { 
       echo $j; 
      } 

      echo '<br />'; 
     } 
    } 

    echo '</div>'; 
} 

numberTriangle(5); 

// Will display : 
/* 
    1 
    12 
    123 
1234 
12345 
*/ 

由於這個功能,您不必再添加人工的空間,這是清潔劑(並節省您的headhaches!)。