2012-05-03 54 views
1
$arr = array(1,2,4,7,12,17,21,24,26,27); 
for($i=1; $i<count($arr); $i++) { 
    for($j=$arr[$i-1]; $j<$arr[$i]; $j++) { 
     echo $j; 
    } 
    echo "<br>"; 
} 

我正在嘗試使用for循環來製作看起來像鑽石形狀的形狀。此時它看起來像半鑽石形狀。鑽石形狀的打印數字PHP

我想在這方面提供幫助。

+0

你要鑽石的輪廓或填寫完整的鑽石?無論哪種情況,您都需要一個等寬字體來確保比例。 – Anthony

+0

@Anthony,我想他是指ASCII形狀。 – Nadh

+0

@anthony我想要鑽石輪廓。 –

回答

1

這是我能想出的最好:

echo '<pre style="text-align:center;">'; 
$arr = array(1,2,4,7,12,17,21,24,26,27); 
for($i=1; $i<count($arr); $i++) { 
    for($j=$arr[$i-1]; $j<$arr[$i]; $j++) { 
     echo $j; 
    } 
    echo "<br>"; 
} 

所以,你想要的是(無形狀):

 1 
    2 4 
7 12 17 21 
    24 26 
     27 

我遇到了麻煩,其中線突破,因爲數組中的數字不會出現「對稱」數字。

還是你想這樣的:

 1 
     2 4 
    7 12 
    17  21 
    24 26 
     27 
+0

我想要第一個形狀。 –

1
<?php 

$kk=25; 
$m=1; 
for($kkk=1;$kkk<=7;$kkk++) 
{ 
     for($k=0;$k<=$kk;$k++) 
     { 
      echo ('&nbsp;'); 
     } 

     for($j=1; $j<=$m; $j++) 
     { 

      echo $j; 
     } 
      $kk=$kk-1 ; 
      echo "<br>"; 
      $m=$m+2; 

} 



?> 

滿鑽

<?php 

$kk=25; 
$m=1; 
for($kkk=1;$kkk<=5;$kkk++) 
{ 
     for($k=0;$k<=$kk;$k++) 
     { 
      echo ('&nbsp;'); 
     } 

     for($j=1; $j<=$m; $j++) 
     { 

      echo $j; 
     } 
      $kk=$kk-1 ; 
      echo "<br>"; 
      $m=$m+2; 

} 

$kk=22; 
$m=9; 
for($kkk=1;$kkk<=5;$kkk++) 
{ 
     for($k=1;$k<=$kk;$k++) 
     { 
      echo ('&nbsp;'); 
     } 

     for($j=$m; $j>=1; $j--) 
     { 

      echo $j; 
     } 
      $kk=$kk+1 ; 
      echo "<br>"; 
      $m=$m-2; 

} 




?> 
+0

這讓我成爲金字塔,而不是鑽石。這是目標嗎? – Anthony

+0

oops一秒鑽石立即來到 – Satya

+0

更新了我的代碼 – Satya

1
<?php 
echo '<div style="text-align:center;">'; 
$jeff = "5"; 
$y=1; 
for($x=1;$x<=$jeff+1;$x++){ 
    for($y=1;$y<$x;$y++) 
     { 
     echo"*"; 
     } 
     echo"<br>"; 
} 
$rey = $jeff-1; 
for($x=$rey;$x>=1;$x--){ 
    for($y=1;$y<$x;$y++) 
     { 
     echo"*"; 
     } 
     echo"<br>"; 
} 
echo"</div>" 
?> 
+0

最簡單的我認爲,變量$ jeff的值將是鑽石的中心 –