在PHP中,流量控制語句主要有條件陳述式和迴圈語句組成。其中,流量控制語句有if/else和switch語句;迴圈語句有while和for語句。
1. IF語句
在PHP中,IF語句有兩種文法結構。一種用大括弧表示語句塊,一種用冒號表示語句塊。前者一般用於純程式碼中,後者一般用於代碼和HTML結合時。兩種寫法如下:
| 代碼如下 |
複製代碼 |
// 大括弧表示語句塊 if ($value) { // 操作; } elseif($value) { // 操作; } else { // 操作; } // 冒號表示語句塊 if ($value) : // 操作; elseif($value) : // 操作; else : // 操作; endif; |
2. switch語句
switch語句和C語言有些相似,它可以使用數字和字串做為判斷值。它執行的代碼是,從第一個匹配值(或者default)開始,到遇到break為止。所以,在寫程式的時候一定不要忘記寫break。不然會執行所有分支。程式碼範例如下:
| 代碼如下 |
複製代碼 |
switch ($value) { case 'a': case 'b': echo 'value is a or b.'; break; case 'c': echo 'value is c.'; break; default: echo 'value is others.'; break; } |
3. while語句
while語句和if語句一樣,也用兩種文法結構。大括弧表示語句塊以及冒號表示語句塊表示語句塊。兩種寫法如下:
| 代碼如下 |
複製代碼 |
// 大括弧表示語句塊 $i = 0; while ($i < 5) { echo $i; } // 冒號表示語句塊 $i = 0; while ($i < 5) : echo $i; endwhile;
|
4. do...while語句
do...while語句和while語句區別是while語句先判斷後執行,而do...while語句是先執行後判斷。也就是說,即便條件不符合要求,do...while語句也會執行一次。其寫法如下:
| 代碼如下 |
複製代碼 |
$i = 0; do { echo $i; } while ($i < 5); |
5. for語句
for語句裡要注意的是,它先執行初始化代碼,然後每一次迴圈首先執行判斷語句,執行迴圈會再執行自增自減函數。也就是說,如果條件不符合,迴圈不會被執行。其文法結構也有兩種,大括弧表示語句塊以及冒號表示語句塊表示語句塊。兩種寫法如下:
| 代碼如下 |
複製代碼 |
// 大括弧表示語句塊 for ($i = 0; $i < 5; $i++) { echo $i; } // 冒號表示語句塊 for ($i = 0; $i < 5; $i++) : echo $i; endfor;
|
6. foreach語句
foreach語句用於遍曆整個數組。和for一樣,它的文法結構也有兩種,大括弧表示語句塊以及冒號表示語句塊表示語句塊。兩種寫法如下:
| 代碼如下 |
複製代碼 |
// 大括弧表示語句塊 foreach($array as $value) { each $value; } // 冒號表示語句塊 foreach($array as $value) : each $value; endforeach;
|
7. declare語句
declare語句指每執行N條語句後調用一個函數。如
| 代碼如下 |
複製代碼 |
register_tick_function('test'); declare(ticks = 2) { print '1'; print '2'; print '3'; print '4'; print '5'; } function test() { print 'declare '; }
|
這段代碼的結果為
1
2
3