麻辣家族討論版版's Archiver

小誌 發表於 2010-5-10 18:57

(PHP+IIS+MsSQL教學第8篇)流程控制之switch敘述

[color=DarkOrange][size=5][b]多路徑選擇的switch敘述[/b][/size][/color]
使用過了if-else敘述,我們得知if-else敘述在條件成立後會執行條件式之後的敘述,若條件不成立則會執行else之後的敘述,只能二選一;如果程式有很多狀況,需要建立多條選擇路徑,則我們可以使用else if逐條過濾條件敘述,但是使用else if逐條過濾條件敘述來撰寫程式,不但眼睛都看花了,而且程式又拖的很長,此時我們就可以利用具有多路徑選擇的witch敘述來撰寫程式。

Select Case敘述可以根據變數中的資料數值來決定程式的執行流程,其變數的型態可以是字元型態、整數型態…等,利用Select Case敘述來撰寫程式不但執行速度快,而且程式也淺顯易懂多了,其格式如下:
switch判斷敘述區塊格式[code]witch  (評估值)  
{
     case條件值1:
         敘述區塊1;
        break;
     case 條件值2:
         敘述區塊2;
        break;
.
.
     case 條件值n:
         敘述區塊n;
        break;
default:
         敘述區塊n+1;
}[/code]上列的格式意義是:當評估值符合條件值1時就執行程式區塊1,評估值符合條件值2時就執行程式區塊2…,評估值符合條件值n時就執行程式區塊n,如果任何條件都不符合則執行程式區塊n+1。
[attach]225[/attach]

[color=Magenta][size=4][b]實例說明[/b][/size][/color]
一直使用單行文字方塊的表單元件真是無趣,現在我們換單選式按鈕元件來玩玩吧!設計一表單程式網頁,由瀏覽者選擇他喜歡的網頁背景顏色,當顏色選定並按下「確定」按鈕後,就將網頁底色變成瀏覽者所選定的顏色:
[attach]226[/attach][code]<?
switch ($_POST["color"])
{
    case "y":
      echo "<body bgcolor=yellow>";
    break;
    case "g":
      echo "<body bgcolor=green>";
    break;
    case "b":
      echo "<body bgcolor=blue>";
    break;
}
?>
[/code][color=Magenta][size=4][b]實作學習[/b][/size][/color]
switch敘述中的條件值,並不限定每個case內都要有敘述,還可以是一個範圍的資料,,例如:讓瀏覽者輸入月份,按下確定按鈕後,告訴他該月份是哪一個季節:[code]<?
switch ($_POST["moon"])
  {
    case 1: case 2: case 3:
          echo "春天";
          break;
    case 4: case 5: case 6:
          echo "夏天";
          break;
    case 7: case 8: case 9:
          echo "秋天";
          break;
    case 10: case 11: case 12:
          echo "冬天";
          break;
    default:
          echo "錯誤";
  }
?>
[/code]

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供