變數的寫法 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;
}
|