章 12. 流程控制

目錄
if
else
elseif
流程控制的替代語法
while
do..while
for
foreach
break
continue
switch
declare
return
require()
include()
require_once()
include_once()

任何 PHP 腳本都是由一系列語句構成的。一條語句可以是一個設值語句,一個函式呼叫,一個循環,甚至一個什麼也不做的(空語句)條件語句。語句通常以分號結束。此外,還可以用大括號將一組語句封裝成一個語句組。語句組本身可以當作是一行語句。本章講述了各種語句型別。

if

if 結構是很多語言包括 PHP 在內最重要的特性之一,它允許按照條件執行代碼片段。PHP 的 if 結構和 C 語言相似:

if (expr)
    statement

如同在表達式一章中定義的,expr 按照布爾求值。如果 expr 的值為 TRUE,PHP 將執行 statement,如果值為 FALSE - 將忽略 statement。有關哪些值被視為 FALSE 的更多訊息參見“轉換為布爾值”一節。

如果 $a 大於 $b,則以下例子將顯示 a is bigger than b

if ($a > $b)
    print "a is bigger than b";

經常需要按照條件執行不止一條語句,當然並不需要給每條語句都加上一個 if 子句。可以將這些語句放入語句組中。例如,如果 $a 大於 $b,以下代碼將顯示 a is bigger than b 並且將 $a 的值賦給 $b

if ($a > $b) {
    print "a is bigger than b";
    $b = $a;
}

if 語句可以無限層地嵌套在其它 if 語句中,這給程序的不同部分的條件執行提供了充分的彈性。