| |初探|語法|資料型態|變數與常數|外部變數|環境變數|運算元|引用檔案|函數|物件| | |
|---|---|
| PHP 簡介 |
|
|
流程控制 | |
if 判別式 | |
| 有三種表示法,只要 expr 為 TRUE(非 0、非空字串、非字串 '0'),則執行下面的 statement(s)。需執行的 statement 只有一個時,可以省略 { }。 | |
| if ( expr ) statement; | |
|
if ( expr ) { statement1; statement2; ...... } | |
|
if ( expr ) : statement1; statement2; ...... endif; | |
else | |
| 與 if 搭配使用。 | |
|
if ( expr ) { statement1; statement2; ...... } else { statement3; statement4; ...... } // 需執行的 statement 只有一個時,可以省略 { } | |
|
if ( expr ) : statement1; statement2; ...... else : statement3; statement4; ...... endif; | |
elseif | |
| 與 if 搭配使用。 | |
|
if ( expr ) { statement1; statement2; ...... } elseif ( expr ) { statement3; statement4; ...... } [ elseif ... ] // 可以接多組 elseif else { statement5; statement6; ...... } // 需執行的 statement 只有一個時,可以省略 { } | |
|
if ( expr ) : statement1; statement2; ...... elseif ( expr ) : statement3; statement4; ...... [ elseif ... ] // 可以接多組 elseif else : statement5; statement6; ...... endif; | |
| 例: | |
|
<? if ( $a > $b ) { echo "a is bigger than b"; } elseif ( $a == $b ) { echo "a is equal to b"; } else { echo "a is smaller than b"; } ?> | |
while 迴圈 | |
| 只要 expr 為 TRUE,則 statement(s) 可被重複地執行。基於這一點,必須小心控制 expr 的運作,以免發生 expr 恆為 TRUE,而迴圈無窮盡的狀況。 | |
|
while ( expr ) { statement1; statement2; ...... } // 需執行的 statement 只有一個時,可以省略 { } | |
|
while ( expr ) : statement1; statement2; ...... endwhile; | |
| 例: | |
|
<? $a = 1; while ( $a < 10 ) { echo $a++; } // 印出 1 ∼ 9 ?> | |
do ... while 迴圈 | |
| 先無條件執行 statement(s) 一次,接著只要 expr 為 TRUE,則 statement(s) 可被重複地執行。 | |
|
do { statement1; statement2; ...... } while ( expr ); | |
| 例: | |
|
<? $a = 1; do { echo $a++; } while ( $a < 10 ); // 印出 1 ∼ 9 ?> | |
for 迴圈 | |
|
for ( expr1; expr2; expr3 ) { statement1; statement2; ...... } | |
|
for ( expr1; expr2; expr3 ) : statement1; statement2; ...... endfor; | |
| expr1 為條件的初始值。expr2 為判斷的條件,通常都是用邏輯運算元(Logical Operators)當判斷的條件。expr3 為執行 statement(s) 後要執行的動作,用以改變條件,供下次的迴圈判斷,如加 1。 | |
| 與 C 很類似,expr1、expr2、expr3 都可以省略,代表 TRUE。下面四個例子都會印出 1 ∼ 10: | |
| 例一: | |
|
<? for ( $i=1; $i<=10; $i++ ) { print $i; } ?> | |
| 例二,省略 expr2: | |
|
<? for ( $i=1; ; $i++ ) { if ( $i > 10 ) break; print $i; } ?> | |
| 例三,省略所有的 expr: | |
|
<? $i = 1; for ( ; ; ) { if ( $i > 10 ) break; print $i; $i++; } ?> | |
| 例四,注意 expr3 的寫法,這裡的 print 不能改用 echo 代替,因為 echo 不是函數而是語法: | |
|
<? for ( $i=1; $i<=10; print $i, $i++ ); ?> | |
break | |
| break 可以用來跳出目前的迴圈。可以用在 for、foreach、while、do...while、switch中。 | |
continue | |
| continue 可以即刻停止目前執行迴圈,並略過在 continue 之後的 statement,而回到迴圈的開頭。下面的例子可以印出 1 ∼ 10 之間的偶數: | |
|
<? $i = 0; while ( $i < 10 ) { $i++; if ( $i % 2 ) continue; echo $i; } ?> | |
switch | |
| switch 通常用來處理複合式的條件判斷,每個子條件,都是 case 指令區段。在必須使用大量 if...elseif...else 判別式時,不妨將它改寫成 switch 判別式。 | |
|
<? if ( $i == 0 ) { print "i equals 0"; } elseif ( $i == 1 ) { print "i equals 1"; } elseif ( $i == 2 ) { print "i equals 2"; } else { print "i is not equal to 0, 1 or 2"; } switch ($i) { case 0: print "i equals 0"; break; case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; default: print "i is not equal to 0, 1 or 2"; } ?> | |
|
| |
| |初探|語法|資料型態|變數與常數|外部變數|環境變數|運算元|引用檔案|函數|物件| | |


if 判別式