php小練習——實現幾種不同的金字塔


首先,從簡單的着手,打印出金字塔的右半部分,代碼如下

<?php
  $n=5; //金字塔行數
  //外層的for循環控制層數
  for($i=1;$i<=$n;$i++){
    //內層的for循環控制每層*的個數
    for($j=1;$j<=$i;$j++){
      echo"*";
    }
    echo"<br/>";    //每一層打印完換行
  }
?>

 


 

然后打印出完整的金字塔,完整的金字塔,在上面的基礎下只需要做小小的修改,

<?php
$n=5; //金字塔行數
for($i=1;$i<=$n;$i++){
    //在打印*之前,先打印空格
    for($k=1;$k<=$n-$i;$k++){
        echo"&nbsp;";
    }
    //內層控制每層*的個數
    for($j=1;$j<=2*$i-1;$j++){
        echo"*";
    }
    echo"<br/>";
}
?>

注:把上面的代碼復制到php文件中,會出現不知名的錯誤,應該是格式問題,但是代碼是正確的。


然后是空心金字塔,代碼如下:

 1 <?php
 2 $n=5;
 3 for($i=1;$i<=$n;$i++){
 4     for($k=1;$k<=$n-$i;$k++){
 5         echo"&nbsp;";
 6     }
 7     //內層控制每層*的個數
 8     for($j=1;$j<=$i*2-1;$j++){
 9         //第一層和最后一層*不變
10         if($i==1||$i==$n){
11             echo"*";
12         }
13         //其他層第一個和最后一個位置打印*,其他位置打印空格
14         else{
15             if($j==1||$j==$i*2-1){
16                 echo"*";
17             }else{
18                 echo"&nbsp;";
19             }
20         }
21     }
22     echo"<br/>";
23 }
24 echo"<hr/>"
25 ?>


 

接下來,是菱形

<?php
$n=5;
for($i=1;$i<=$n;$i++){
    for($k=1;$k<=$n-$i;$k++){
        echo"&nbsp;";
    }
    //內層控制每層*的個數
    for($j=1;$j<=$i*2-1;$j++){
        //第一層和最后一層*不變
        if($i==1){
            echo"*";
        }
        //其他層第一個和最后一個位置打印*,其他位置打印空格
        else{
            if($j==1||$j==$i*2-1){
                echo"*";
            }else{
                echo"&nbsp;";
            }
        }
    }
    echo"<br/>";
}


for($i=$n;$i>=1;$i--){
    for($k=1;$k<=$n-$i;$k++){
        echo"&nbsp;";
    }
    //內層控制每層*的個數
    for($j=1;$j<=$i*2-1;$j++){
        //第一層和最后一層*不變
        if($i==1){
            echo"*";
        }
        //其他層第一個和最后一個位置打印*,其他位置打印空格
        else{
            if($j==1||$j==$i*2-1){
                echo"*";
            }else{
                echo"&nbsp;";
            }
        }
    }
    echo"<br/>";
}
?>

注:上述代碼在不同的瀏覽器可能顯示有差異

由於是初學php,如果上述代碼有錯誤之處,還請各位看客指正,謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM