5-5
用 $op 及 switch 迴圈來做流程控制
一、判斷有無 $op 變數並過濾之
- $op 是一個我們自己定義的變數,主要用來告知程式目前應該做什麼事情,所以一般會搭配 switch 流程控制來使用。
- $op 有可能用 post 或 get 方式傳遞,故一般我們習慣用 $_REQUEST['op'] 來接收。
- 先預設 $op 為空值,再用 isset() 判斷有無傳入 $_REQUEST['op'],若有才過濾之,並將過濾結果存回 $op。
$op = '';
if (isset($_REQUEST['op'])) {
$op = filter_var($_REQUEST['op'], FILTER_SANITIZE_SPECIAL_CHARS);
}
- 三元運算式精簡寫法(條件 ? 真動作一 :假動作二 ):
$op = isset($_REQUEST['op']) ? filter_var($_REQUEST['op'], FILTER_SANITIZE_SPECIAL_CHARS) : "";
二、switch 用法
- switch 可以判斷某個變數值,當該變數值符合指定條件時,就去執行哪些動作,基本上就是「一個口令,一個動作」之意。
- switch 完整語法為:
switch ($變數) {
case '特定值':
# 動作...
break;
default:
# 動作...
break;
}
- case 到 break 就是完整一組,可以自行添加無限多組。
- break; 不加也符合語法,但會一直執行到下方動作。
- default 則是當變數跟任一個「特定值」都不相符時要進行的動作。
三、練習:
- 請利用 $op 來完成 switch 迴圈