PHP基礎(chǔ)之流程控制1——if/else/elseif/else if
(PHP 4, PHP 5)
if 結(jié)構(gòu)是很多語言包括 PHP 在內(nèi)最重要的特性之一,它允許按照條件執(zhí)行代碼片段。PHP 的 if 結(jié)構(gòu)和 C 語言相似:
<?phpif (expr) statement?>
如同在表達(dá)式一章中定義的,expr 按照布爾求值。如果 expr 的值為 TRUE,PHP 將執(zhí)行 statement,如果值為 FALSE ——將忽略 statement。有關(guān)哪些值被視為 FALSE 的更多信息參見轉(zhuǎn)換為布爾值一節(jié)。
如果 $a 大于 $b,則以下例子將顯示 a is bigger than b:
<?phpif ($a > $b) echo 'a is bigger than b';?>經(jīng)常需要按照條件執(zhí)行不止一條語句,當(dāng)然并不需要給每條語句都加上一個(gè) if 子句??梢詫⑦@些語句放入語句組中。例如,如果 $a 大于 $b,以下代碼將顯示 a is bigger than b 并且將 $a 的值賦給 $b:
<?phpif ($a > $b) { echo 'a is bigger than b'; $b = $a;}?>if 語句可以無限層地嵌套在其它 if 語句中,這給程序的不同部分的條件執(zhí)行提供了充分的彈性。
else(PHP 4, PHP 5)
經(jīng)常需要在滿足某個(gè)條件時(shí)執(zhí)行一條語句,而在不滿足該條件時(shí)執(zhí)行其它語句,這正是 else 的功能。else 延伸了 if 語句,可以在 if 語句中的表達(dá)式的值為 FALSE 時(shí)執(zhí)行語句。例如以下代碼在 $a 大于 $b 時(shí)顯示 a is bigger than b,反之則顯示 a is NOT bigger than b:
<?phpif ($a > $b) { echo 'a is greater than b';} else { echo 'a is NOT greater than b';}?>else 語句僅在 if 以及 elseif(如果有的話)語句中的表達(dá)式的值為 FALSE 時(shí)執(zhí)行。
elseif/else if(PHP 4, PHP 5)
elseif,和此名稱暗示的一樣,是 if 和 else 的組合。和 else 一樣,它延伸了 if 語句,可以在原來的 if 表達(dá)式值為 FALSE 時(shí)執(zhí)行不同語句。但是和 else 不一樣的是,它僅在elseif 的條件表達(dá)式值為 TRUE 時(shí)執(zhí)行語句。例如以下代碼將根據(jù)條件分別顯示 a is bigger than b,a equal to b 或者 a is smaller than b:
<?phpif ($a > $b) { echo 'a is bigger than b';} elseif ($a == $b) { echo 'a is equal to b';} else { echo 'a is smaller than b';}?>在同一個(gè) if 語句中可以有多個(gè) elseif 部分,其中第一個(gè)表達(dá)式值為 TRUE(如果有的話)的 elseif 部分將會(huì)執(zhí)行。在 PHP 中,也可以寫成“else if”(兩個(gè)單詞),它和“elseif”(一個(gè)單詞)的行為完全一樣。句法分析的含義有少許區(qū)別(如果你熟悉 C 語言的話,與之行為相同),但是底線是兩者會(huì)產(chǎn)生完全一樣的行為。
elseif 的語句僅在之前的 if 和所有之前 elseif 的表達(dá)式值為 FALSE,并且當(dāng)前的 elseif 表達(dá)式值為 TRUE 時(shí)執(zhí)行。
Note: 必須要注意的是 elseif 與 else if 只有在類似上例中使用花括號(hào)的情況下才認(rèn)為是完全相同。如果用冒號(hào)來定義 if/elseif 條件,那就不能用兩個(gè)單詞的 else if,否則 PHP 會(huì)產(chǎn)生解析錯(cuò)誤。
相關(guān)文章:
1. Docker 容器健康檢查機(jī)制2. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效3. vue 獲取url參數(shù)、get參數(shù)返回?cái)?shù)組的操作4. vue開發(fā)chrome插件,實(shí)現(xiàn)獲取界面數(shù)據(jù)和保存到數(shù)據(jù)庫功能5. php判斷一個(gè)請(qǐng)求是ajax請(qǐng)求還是普通請(qǐng)求的方法6. Android View 事件防抖的兩種方案7. php實(shí)現(xiàn)斷點(diǎn)續(xù)傳大文件示例代碼8. python構(gòu)造IP報(bào)文實(shí)例9. JavaScript實(shí)現(xiàn)可拖拽的進(jìn)度條10. python datetime時(shí)間格式的相互轉(zhuǎn)換問題
