2016-10-10 144 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!)。