Jollen 網路學院
|| Jollen 的 Embedded Linux 訓練方案 | Jollen 的 Embedded Linux 系列著作 ||
□ Jollen網路學院 >> PHP 讀者服務 >> PHP 線上教材 □

CH7: PHP 基本語法

在這篇文章裡,你可以學到:

  • 變數的寫法
  • 註解的寫法
  • if 敘述
  • 搭配 else
  • 再加上 elseif
  • while 敘述
  • do...while 敘述
  • for 敘述
  • break 指令的用法
  • continue 指令的用法
  • switch 敘述

變數的寫法

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;
}

PHP 線上教材
· CH1: 什麼是 PHP
· CH2: PHP 的用途
· CH3: PHP 的優點
· CH4: Hello, world!
· CH5: 如何安裝 PHP
· CH6: PHP 入門觀念
· CH7: PHP 基本語法
· CH8: PHP 常數與變數
· CH9: PHP 函數設計
· CH10: PHP 運算元
· CH11: PHP Expression
· CH12: PHP 陣列
· CH13: PHP Class設計
· CH14: PHP 良好習慣
回首頁 |  TOP |
    Copyright (c) 2006 www.jollen.org
All rights reserved. 更新日期: 2006/04/11