條件控制語句主要有if、if…else、elseif和switch4種。 elseif,和此名稱暗示的一樣,是 if 和 else 的組合。和 else 一樣,它延伸了 if 語句,可以在原來的 if 運算式值為 FALSE 時執行不同語句。但是和 else 不一樣的是,它僅在 elseif 的條件運算式值為 TRUE時執行語句。
if語句
幾乎所有的程式設計語言都有if語句,它按照條件選擇執行不同的程式碼片段。PHP的if語句格式為:
if(expr) statement;
如果運算式expr值為真,那麼就順序執行statement語句,否則就會跳過該條語句,再往下執行,如果需要執行的語句不止一條,那麼可以使用“{}”,在“{}”中的語句被稱為語句組,格式為:
if(expr){ statement1; statement2; ...}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>PHP語言基礎</title></head><body><?phpheader("Content-Type:text/html; charset=gb2312");$num=rand(1,20);//使用rand()函數產生一個隨機數if($num%2==0){ echo "\$num=$num"; echo "<br>$num 是偶數";}?></body></html>
運行結果:
$num=16
16 是偶數
if…else語句
大多數情況下,總是需要在滿足某個條件時執行一條語句,而在不滿足該條件時執行其他語句。這是可以使用if…else語句,文法格式為:
if(expr){ statement1;}else{ statement2;}
該語句的含義為:當運算式expr為真時,執行statement1;如果運算式expr為假,則執行statement2。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns="http://www.w3.org/1999/xhtml"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>PHP語言基礎</title></head><body><?phpheader("Content-Type:text/html;charset=gb2312");$num=rand(1,20);//使用rand()函數隨機產生一個數if($num%2==0){ echo "變數$num 是偶數";}else{ echo "變數$num 是奇數";}?></body></html>
運行結果: 變數5 是奇數
elseif語句
if…else語句只能選擇兩種結果:要麼執行真,要麼執行假。但有時會出現兩種以上的選擇,這時可以使用elseif語句來執行,文法格式為:
if(expr1){ statement1;}else if(expr2){}...else{ statementn;}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>PHP語言基礎</title></head><body><?phpheader("Content-Type:text/html; charset=gb2312");$num=rand(1,20);//使用rand()函數隨機產生一個數if($num%2==0){ echo "變數$num 是偶數";}else{ echo "變數$num 是奇數";}?></body></html>
switch…case多重判斷語句
雖然elseif語句可以進行多重選取,但使用時十分繁瑣。為了避免if語句過於冗長,提供者的可讀性,可以使用switch多重判斷語句。文法格式如下:
switch(variable){ case value1: statement1; break; case value2: ... default: default statement;}
switch語句根據variable的值,依次與case中value值相比較,如果不相等,繼續尋找下一個case,如果相等,就執行對應的語句,直到switch語句結束或遇到break為止。一般來說,switch語句最終都有一個預設值default,如果在前面的case中沒有找到相符的條件,則輸出default後的語句,和else語句類似。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>PHP語言基礎</title></head><body><?phpheader("Content-Type:text/html;charset=gb2312");$num=rand(0,4);switch($num){case 0: echo "這是一個0"; break;case 1: echo "這是一個1"; break;default: echo "找不到了"; break;}?></body></html>
輸出結果:這是一個1