PHP 是什麼呢,簡單的說 PHP 是 Unix 系統上的 ASP,這樣一說相信大家應都知道 PHP 大概是什麼了吧。和 ASP 相比,PHP 似乎不太有人去注意,但其實國外使用 PHP 來建構網站己有很長的一段時間了,而國內現在也慢慢的對 PHP 有所重視了。
PHP 的判斷敘述

  判斷敘述是可以寫一段條件式用以檢查及判斷是否要執行某些敘述。PHP 提供了兩種主要的判斷敘述的寫法,一種是 if...elseif...else,另一種則是 switch...case,這兩種寫法所執行的動作都是相同的,只要符合條件時就會執行某段敘述。

if 敘述

  if 敘述是一個控制敘述,主要是用來判斷程式的流程方向,其語法為:

語法: 說明: 範例:
if (條件式1)
{
  敘述1;
   :
   :
}
敘述2;
如果條件式1為真則先執行敘述1,
接下來執行敘述2。

若條件式1為偽則直接執行敘述2。
if ($HAP=="H")
{
   echo "HTML 共和國"
}  
echo "HAP 網路共和國"

若敘述只有一行指令時則可以將大括號省略。

else 敘述

  else 敘述須與 if 敘述搭配使用,其語法為:

語法: 說明: 範例:
if (條件式1)
{
  敘述1;
   :
   :
}
else
{
  敘述2;
   :
   :
}
敘述3;
如果條件式1為真則先執行敘述1,
接下來執行敘述3。

若條件式1為偽則先執行敘述2,
接下來執行敘述3。
if ($HAP=="H")
{
   echo "HTML 共和國"
}  
else
{
   echo "ASP 共和國"
}  
echo "HAP 網路共和國"

若敘述只有一行指令時則可以將大括號省略。

if elseif 敘述

  if elseif 敘述是一個多重判斷的敘述,其語法為:

語法: 說明: 範例:
if (條件式1)
{
  敘述1;
   :
   :
}
elseif (條件式2)
{
  敘述2;
   :
   :
}
else
{
  敘述3;
   :
   :
}
敘述4;
如果條件式1為真則先執行敘述1,
且跳出 if elseif 敘述, 
接下來執行敘述4。

如果條件式1為偽則再檢查條件2,
若條件2為真則先執行敘述2,
且跳出 if elseif 敘述, 
接下來執行敘述4。

如果條件式1及條件式2都為偽則直接執行敘述3,
接下來執行敘述4。
if ($HAP=="H")
{
   echo "HTML 共和國"
}  
elseif ($HAP=="A")
{
   echo "ASP 共和國"
}  
else
{
   echo "PHP 共和國"
}  
echo "HAP 網路共和國"

在上面的語法中,若敘述只有一行指令時則可以將大括號省略。另外,else 敘述及 敘述3 部份都可省略,不過一般來說通常都會加上此一敘述,以便敘述有錯時,更容易偵測錯誤。

switch 敘述

  switch 也是一個多重判斷的敘述,儘管 if elseif 可執行多重判斷的敘述,但其程式寫來太過複雜,因此可用 switch 敘述,其語法為:

PHP 在執行此敘述時,會先去 case 中找符合的條件,如果找到時就會去執行該 case 有關的敘述,直到遇到 break 敘述或是遇到 switch 的結束符號才會結束 switch 敘述。

語法: 說明: 範例:
switch (資料或運算式)
{
  case 條件1:敘述1;
         :
         :
        break;
  case 條件2:敘述2;
         :
         :
        break;
  case 條件3:敘述3;
         :
         :
        break;
  default:敘述4;
}
敘述5;
資料或運算式符合條件1時則執行敘述1,
遇到 break 時再執行敘述5。

符合條件2時則執行敘述2,
遇到 break 時再執行敘述5。

符合條件3時則執行敘述3,
遇到 break 時再執行敘述5。

若都沒有符合的條件時,
則執行 default 的敘述4,
接下來再執行敘述5。
switch ($HAP)
{
  case "H":echo "HTML 共和國";
       break;
  case "A":echo "ASP 共和國";
       break;
  case "P":echo "PHP 共和國";
       break;
  default:echo "HAP 網路共和國"
}

使用 switch 敘述時,要注意的是 break 的使用,假如在 case 中沒有 break 敘述的話,程式就會繼續往下執行而不會跳出 switch 敘述,因此可能會執行到別的 case 敘述,直到遇到 break 敘述或 switch 的結束符號才會結束 switch 敘述。例如:

範例: 輸出:
switch ($HAP)
{
  case 'H':echo "HTML 共和國";
       break;
  case 'A':echo "ASP 共和國";
  case 'P':echo "PHP 共和國";
       break;
  default:echo "HAP 網路共和國";
}
如果 $HAP = 'A' 時,則輸出為:

ASP 共和國
PHP 共和國

e1?e2:e3 敘述

  在 if 敘述的應用中,我們常看到以下的例子
範例:
if (a>b)
   c = a;
else
   c = b;   

上述的敘述是求最大值,執行的情形為比較 a 是否大於 b,如果是則令 c = a,否則 c = b。PHP 提供了一種特殊的判斷式「e1?e2:e3」。 e1?e2:e3 我們也稱為三元運算子,其用法為,當 e1 為true 時,則執行 e2,否則執行e3,我們可將上述的例子改成 e1?e2:e3 的寫法
範例:
c = (a > b)?a:b;

其中的(a > b)為 e1,a為 e2,b為 e3,當 (a > b) 為 true 時 c = a,否則 c =b