所有編程語言在編寫時都要遵照語言結構和流程控制,它們控制了整個程序運行的步驟。
流程控制包括順序控制、條件控制和循環控制。
所謂順序控制,就是正常的代碼執行順序,從上到下,從頭到尾依次指定每條語句。
順序結構只能按順序執行,不能進行判斷和選擇,因此需要條件控制語句。條件控制語句可以使程序根據某個或某些條件進行判斷,然後有選擇性地執行或不執行某些代碼語句。所有條件控制語句都是通過判斷條件表達式的結果來選擇執行哪個分支語句的,條件表達式一般返回true和false。在PHP編程語言中也允許條件表達式使用數字、字符串來代替布爾值使用,例如:一個空字符串相當於false,數字0也相當於false等。
一、條件控制語句
1、if語句
可以只使用if關鍵字來表達一個條件語句,一個if語句包含表達式以及一條或多條執行語句。
2、if...else語句
滿足表達式條件會進入if語句,當不滿足條件時,通常會寫一個else語句。if和else語句保证了程序運行情況的完整性,需要注意的是,else語句不能單獨出現,必須與if語句成對出現。
3、if...else if...else語句
在條件語句中,else和if可以組合使用,出現在第一個if語句後面,對多種條件進行處理。如果滿足該條件就執行該條件下的語句,否則可以去判斷是否滿足其他條件,然後執行其他條件下的語句。
二、switch語句
如果一個程序需要多條相似的條件判斷,尤其是在表達式簡單並相同,只是判斷的值不同的情況下,可以使用if語句來進行多條判斷。
switch語句是一種多分支並行語句,它允許多個分支語句並行存在,並用關鍵字case標識。執行時,switch語句首先計算參數的值,如果和某一個分支語句標識的值相同,則執行這個分支語句中的代碼,直到遇到關鍵字break爲止。如果該分支語句中沒有關鍵字break,則會繼續判斷後面的case分支語句,直到遇到break爲止。switch語句同時提供了默認執行的機制,當沒有一個分支語句的值與switch傳入參數的值相同時,會執行關鍵字default分支中的語句。
switch語句中待判斷的變量可以是字符串、數字類型等,case中的判斷值通常爲常量,並且case互相之間定義的常量值不能相同,否則可能會重複執行。