PHP基礎(chǔ)之流程控制1——if/else/elseif/else if
(PHP 4, PHP 5)
if 結(jié)構(gòu)是很多語(yǔ)言包括 PHP 在內(nèi)最重要的特性之一,它允許按照條件執(zhí)行代碼片段。PHP 的 if 結(jié)構(gòu)和 C 語(yǔ)言相似:
<?phpif (expr) statement?>
如同在表達(dá)式一章中定義的,expr 按照布爾求值。如果 expr 的值為 TRUE,PHP 將執(zhí)行 statement,如果值為 FALSE ——將忽略 statement。有關(guān)哪些值被視為 FALSE 的更多信息參見(jiàn)轉(zhuǎn)換為布爾值一節(jié)。
如果 $a 大于 $b,則以下例子將顯示 a is bigger than b:
<?phpif ($a > $b) echo 'a is bigger than b';?>經(jīng)常需要按照條件執(zhí)行不止一條語(yǔ)句,當(dāng)然并不需要給每條語(yǔ)句都加上一個(gè) if 子句。可以將這些語(yǔ)句放入語(yǔ)句組中。例如,如果 $a 大于 $b,以下代碼將顯示 a is bigger than b 并且將 $a 的值賦給 $b:
<?phpif ($a > $b) { echo 'a is bigger than b'; $b = $a;}?>if 語(yǔ)句可以無(wú)限層地嵌套在其它 if 語(yǔ)句中,這給程序的不同部分的條件執(zhí)行提供了充分的彈性。
else(PHP 4, PHP 5)
經(jīng)常需要在滿(mǎn)足某個(gè)條件時(shí)執(zhí)行一條語(yǔ)句,而在不滿(mǎn)足該條件時(shí)執(zhí)行其它語(yǔ)句,這正是 else 的功能。else 延伸了 if 語(yǔ)句,可以在 if 語(yǔ)句中的表達(dá)式的值為 FALSE 時(shí)執(zhí)行語(yǔ)句。例如以下代碼在 $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 語(yǔ)句僅在 if 以及 elseif(如果有的話(huà))語(yǔ)句中的表達(dá)式的值為 FALSE 時(shí)執(zhí)行。
elseif/else if(PHP 4, PHP 5)
elseif,和此名稱(chēng)暗示的一樣,是 if 和 else 的組合。和 else 一樣,它延伸了 if 語(yǔ)句,可以在原來(lái)的 if 表達(dá)式值為 FALSE 時(shí)執(zhí)行不同語(yǔ)句。但是和 else 不一樣的是,它僅在elseif 的條件表達(dá)式值為 TRUE 時(shí)執(zhí)行語(yǔ)句。例如以下代碼將根據(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 語(yǔ)句中可以有多個(gè) elseif 部分,其中第一個(gè)表達(dá)式值為 TRUE(如果有的話(huà))的 elseif 部分將會(huì)執(zhí)行。在 PHP 中,也可以寫(xiě)成“else if”(兩個(gè)單詞),它和“elseif”(一個(gè)單詞)的行為完全一樣。句法分析的含義有少許區(qū)別(如果你熟悉 C 語(yǔ)言的話(huà),與之行為相同),但是底線(xiàn)是兩者會(huì)產(chǎn)生完全一樣的行為。
elseif 的語(yǔ)句僅在之前的 if 和所有之前 elseif 的表達(dá)式值為 FALSE,并且當(dāng)前的 elseif 表達(dá)式值為 TRUE 時(shí)執(zhí)行。
Note: 必須要注意的是 elseif 與 else if 只有在類(lèi)似上例中使用花括號(hào)的情況下才認(rèn)為是完全相同。如果用冒號(hào)來(lái)定義 if/elseif 條件,那就不能用兩個(gè)單詞的 else if,否則 PHP 會(huì)產(chǎn)生解析錯(cuò)誤。
相關(guān)文章:
1. JavaScript Reduce使用詳解2. python實(shí)現(xiàn)讀取類(lèi)別頻數(shù)數(shù)據(jù)畫(huà)水平條形圖案例3. python基于tkinter點(diǎn)擊按鈕實(shí)現(xiàn)圖片的切換4. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法5. Android自定義View實(shí)現(xiàn)圓環(huán)進(jìn)度條6. 詳解JAVA 強(qiáng)引用7. Python TestSuite生成測(cè)試報(bào)告過(guò)程解析8. 解決AJAX返回狀態(tài)200沒(méi)有調(diào)用success的問(wèn)題9. python之cur.fetchall與cur.fetchone提取數(shù)據(jù)并統(tǒng)計(jì)處理操作10. SpringBoot集成Redisson實(shí)現(xiàn)延遲隊(duì)列的場(chǎng)景分析
