2010年11月22日 星期一

Switch

取自於W3SPHP條件式Switch的一段說明:
Conditional statements are used to perform different actions based on different conditions.


筆者個人對Switch的解釋是,根據系統需求,你預先設計幾個選項,當條件附合某一項時,即執行該區塊內的程式碼,相當的直觀,也是一個時常用的到的條件式。

語法:
switch (n)  //n即代表要進行判斷的參數
{
case label1:  //case是語法之後,後頭的label1是設定的參數
  code to be executed if n=label1;  //成立後即執行區塊內的參數
  break;  //重要,必須配合使用,用於程式執行完畢跳出switch使用
case label2:
  code to be executed if n=label2;
  break;
default:  //當傳遞的參數都不符合case所設定的值,即使行這段預設程式
  code to be executed if n is different from both label1 and label2;
}

Break這個語法,必須配合switch使用,在各個case區塊中的code,一旦執行畢,必須使用break來進行中斷跳出的動作,這是必須的。當然,break也可以用在別的地方,往後我們會再做說明。

Example
<html>
<body>

<?php
switch ($x)
{
case 1:
  echo "Number 1";
  break;
case 2:
  echo "Number 2";
  break;
case 3:
  echo "Number 3";
  break;
default:
  echo "No number between 1 and 3";
}
?>

</body>
</html>

我們可以看到,如果$x,是1、或是3,會分別執行,case 1case2或是case3其中一項下方的程式碼,如果不是這三者,會執行default底下的程式碼區塊,輸入No number between 1 and 3這段字串。

假設這段要用if…else來寫,會變成以下這段code
<html>
<body>

<?php
If($x = 1){
  echo "Number 1";
}elseif($x = 2){
  echo "Number 2";
} elseif($x = 3){
  echo "Number 3";
}else{
  echo "No number between 1 and 3";
}
?>

</body>
</html>

同樣也可以達到一樣的效果,不過,總是讓人覺得不夠漂亮,由其是當選項一多的時候,此時使用switch可以更讓你的程式更直觀。

PHPMySQL網頁設計實務/網奕出版/吳權威 編著

沒有留言:

張貼留言