變數的寫法
PHP 的變數都是以 $ (dollar sign) 開頭,並且變數名稱有大小寫之分,例如:
$name $Name
是兩個不同的變數。請看底下的例子:
<?php $a = 5; $a = $a*3-2; echo "A =
$a"; ?>
輸出結果為:
A = 13
註解的寫法
PHP 的註解有二種形式:
1. 到行尾的註解:
$a = 5;
// assign 5 to $a
表示 「//」 之後到該行的結束均為註解。
2. 註解區:
/* Variables
& Assignment */
$a = 5; /* assign 5 to $a */ $b = $a; /* assign
$a to $b */
表示 /* 與 */ 之間均為註解。
if
敘述
if 敘述的格式:
if (EXPRESSION) {
statement; }
其義意為,當 EXPRESSION 為 true 時,則執行 statement。舉個簡單的例子:
if ($name == 'Jollen') { echo "Hi!
Jollen"; }
當變數 $name 的值等於 Jollen 這個字串時,則顯示 Hi! Jollen 字串。當
statement 只有一行敘述時,可以省略大括弧。所以本例也可以寫成:
if ($name == 'Jollen') echo "Hi!
Jollen";
搭配
else
加上 else 可以做「如果...則...否則...」的邏輯判斷:
if ($name == "Jollen") { echo
"Man!"; else { echo
"Woman!"; }
再加上
elseif
elseif 的語法也是和 if 配合使用,請看底下的範例:
if ($name == "Jollen") { echo "Hi!
Jollen."; } elseif ($name == "Yii")
{ echo "Hi! Yii."; } else
{ echo "Who are
you?"; }
使用 elseif 做多個判斷時,如果判斷條件都不成立,那麼就會執行 else 裡的敘述。
while
敘述
while 是一種迴圈的敘述,語法如下:
while (EXPRESSION) {
statements; }
while 先判斷 EXPRESSION,如果 EXPRESSION 為 true,則執行 while
裡的述說:
$a = 1; $sum = 0; while ($a <= 10)
{ $sum = $sum+$a; $a =
$a+1; }
最後 $sum 的值為 55,即 1+2+3+4+5+6+7+8+9+10 的結果。
do...while
敘述
do...while 敘述也是迴圈敘述,但是 do...while 與 while
不同的地方在於,do...while 一定會先執行 do 裡的敘述一次,因為 while 是先去判斷
EXPRESSION 是否成立,而 do...while 則是先執行一次後才去判斷
EXPRESSION。
do...while的語法:
do { statements; } while
(EXPRESSION);
範例:
$a = 1; $sum = 0; do { $sum =
$sum+$a; $a = $a+1; } while ($a
<= 10);
最後 $sum 的值一樣是 45。
for
敘述
for 迴圈敘述是一種有條件式的迴圈語法,for
可以指定迴圈開始與結束的條作,因此可以限定迴圈的次數。for 語法:
for (EXPRESSION1; EXPRESSION2;
EXPRESSION3) {
statements; }
其中 EXPRESSION1 為初始條件,EXPRESSION2 為終止條件,EXPRESSION3
為迴圈結束後所要執行的 statement。
範例:
for ($i = 0; $i <= 10 ; $i++) {
echo "$i<br>"; }
執行時,$i = 0 表示 $i 的初始值為 0;$i <= 10 表示當 $i <= 10
時,迴圈繼續執行;$i++ 表示每次執行一次迴圈裡的敘述後 $i 的值加一。
$i++ 的寫法等於
$i = $i+1。
這裡有一個重要的觀念要說明:EXPRESSION3 是在迴圈結束後才被執行,例如:
for ($i = 0; $i <= 10; $i++)
{ ... }
我們來看這個迴圈,當迴圈終止後,$i 的值為 11,而不是 10。這是因為 $i++
的敘述是在迴圈裡的程式片斷執行完成後才被執行,然後再回到迴圈的開頭做 $i <= 10
的邏輯判斷,因為先遞增 1 後再進行條件判斷,所以 $i 最後跳出迴圈時的值為 11,而不是 10。
break
指令的用法
break 指定用來跳出目前的迴圈,通常是用在利用 if
敘述判斷到某個符合的條件,而必須馬上跳出迴圈時才使用。要注意的是,break 只能跳出一層迴圈,而且 break
只能用在[[迴圈]]敘述裡。
範例:
for ($i = 0; ;$i++) { if ($i >
10) break; }
在這個範例裡,for 敘述沒有中止條件。中止條件寫在迴圈的程式裡,利用 if 來判斷,當 $i >
10 時,則執行 break 跳出迴圈。
continue
指令的用法
continue 與 break 是相對的指令。break 中斷目前執行的迴圈,continue
則是回到迴圈的開頭,重新執行迴圈。
例如:
for ($i = 0; $i < 10; $i++) { if
($i == 5) continue; printf("%d",
$i); }
輸出結果為:
12346789
當 if 判斷到 $i 等於 5 時,就跳回迴圈的開頭執行。
switch
敘述
switch 是很好用的多條件判斷敘述,跟 if...elseif...elseif...
結構相同。switch 語法:
switch (EXPRESSION) { /* 當
EXPRESSION 的值為 1 時,則執行這裡的敘述。*/ case
1: statements; break;
/* 當 EXPRESSION 的值為 2
時,則執行這裡的敘述。*/ case
2:statements; break;
/* 當 EXPRESSION 的值都未出現在以上的 case
時,則執行這裡的敘述。*/
default: statements;
break; }
範例:
switch ($i) { case 'A': $grade =
90;
break; case 'b': case
'B': $grade =
80;
break; default: $grade =
60;
break; } |