PHP8 elseif/else if

2023-08-15 16:52 更新

(PHP 4, PHP 5, PHP 7, PHP 8)

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:

<?php
if ($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,其中將會執(zhí)行第一個(gè)表達(dá)式值為 true(如果有的話)的 elseif。在 PHP 中,也可以寫成 else if(兩個(gè)單詞),它和 elseif(一個(gè)單詞)的行為完全一樣。句法分析的含義有少許區(qū)別(行為與 C 相同),但是底線是兩者會產(chǎn)生完全一樣的行為。

elseif 的語句僅在之前的 if 和所有之前 elseif 的表達(dá)式值為 false,并且當(dāng)前的 elseif 表達(dá)式值為 true 時(shí)執(zhí)行。

注意: 必須要注意的是 elseif 與 else if 只有在類似上例中使用花括號的情況下才認(rèn)為是完全相同。如果用冒號來定義 if/elseif 條件,必須在一個(gè)單詞中使用 elseif。如果 else if 分割為兩個(gè)單詞,則 PHP 會產(chǎn)生解析錯(cuò)誤。
<?php

/* 不正確的使用方法: */
if ($a > $b):
echo $a." is greater than ".$b;
else if ($a == $b): // 將無法編譯
echo "The above line causes a parse error.";
endif;


/* 正確的使用方法: */
if ($a > $b):
echo $a." is greater than ".$b;
elseif ($a == $b): // 注意使用了一個(gè)單詞的 elseif
echo $a." equals ".$b;
else:
echo $a." is neither greater than or equal to ".$b;
endif;

?>


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號