2021年3月12日 星期五

PHP 迴圈語法的運用

設定目標:
  • 了解 PHP 迴圈結構與使用方式

PHP 迴圈結構基本用法
  1. for 迴圈 :
    • 用於可數的重複工作
    • 語法格式 :
      for (起始值;條件式;步進值){
          需要重複做的事;
        }
      
    • 範例 : ex4_6.php
      <?php
        // 從 1 加到 50 的整數和
        // 以下方式只是為了說明 for 迴圈的使用方式,不是好的程式碼寫法!!
        $sum = 0;
        for ($i = 1; $i <= 50; i++){
            $sum += $i;
        }  
        echo "總合是: $sum";
      ?>
      
  2. while 迴圈 :
    • 用於有條件限制的重複工作
    • 先判斷條件,成立後再執行工作!
    • 語法格式 :
      while ( 條件式 ){
          需要重複做的事;
        }
      
    • 範例 : ex4_7.php
      <?php
        $sum = 0;
        while ( $i <= 50 ){
          $sum += $i;
          $i++;
        }
      ?>
      
  3. do … while 迴圈 :
    • 用於有條件限制的重複工作
    • 先工作,再進條件判斷,決定需不需要繼續執行!
    • 語法格式 :
      do {
          需要重複做的事;
        } while (條件式);
      
    • 範例 : ex4_8.php
      <?php
        $sum = 0;
        $i = 1;
        do {
          $sum += $i;
          $i++;
        } while ($i <= 50);
      ?>
      
  4. 無窮迴圈 :
    • 永不停止的重複執行
    • 建議放入一個可中斷程式的判斷程式
    • 語法格式 :
      for (;;){ }
        while(true){ }
        do { } while (true);
      
    • 範例 : ex4_9.php
      <?php
      $sum = 0;
        $i = 0;
        while (true){
          $i++;
          $sum += $i;
          if ( $sum >= 100) break;
        }
        echo "\$sum : $sum";
      ?>
      
  5. 巢狀迴圈
    • 迴圈內有迴圈,即為巢狀迴圈!
    • 沒事請少用巢狀迴圈
    • 語法格式 :
      //以下僅表示雙層巢狀迴圈,可以再多幾層迴圈
        for(起始值;條件式;步進值){
          for(起始值;條件式;步進值){
            需要重複做的事;
          }
        }
      
        while(條件式){
          while(條件式){
            需要重複做的事;
          }
        }
      
        do {
          do {
            需要重複做的事;
          } while (條件式);
        }while (條件式);
      
    • 範例 : ex4_10.php
      <?php
      //九九乘法表
      for ($i = 2; $i < 10; $i++){
        for ($j = 1; $j < 10; $j++){
          printf("%d*%d=%d \t",$i,$j,($i * $j));
        }
        printf("\n");
      } 
      ?>
      
  6. break
    • break 用法 : 跳出迴圈、switch 時使用!
    • 語法格式 :
      break;   //跳出目前的迴圈
        break 1; //跳出目前的一層迴圈
        break 2; //跳出目前的二層迴圈
      
    • 範例 : ex4_11.php
      <?php
      while (true){
          echo "這是第一層迴圈!
      "; while (true){ echo "這是第二層迴圈!
      "; break 2; } } echo "己跳出二層迴圈!"; ?>
  7. continue
    • continue 用法 : 于迴圈中,略過這一次,執行下一次的工作!
    • 範例 : ex4_12.php
      <?php
          while($i <= 10){
            if ( $i == 5) {
              echo "略過 \$i = $i 
      "; continue; } echo $i."
      "; } ?>

本章練習:
  • 寫一支程式判斷成績等級: