PHP if...else 語句
PHP 條件語句
當(dāng)您編寫代碼時(shí),您常常需要為不同的判斷執(zhí)行不同的動作。您可以在代碼中使用條件語句來完成此任務(wù)。
在 PHP 中,提供了下列條件語句:
·???????? if 語句?- 在條件成立時(shí)執(zhí)行代碼
·???????? if...else 語句?- 在條件成立時(shí)執(zhí)行一塊代碼,條件不成立時(shí)執(zhí)行另一塊代碼
·???????? if...else if....else 語句?- 在若干條件之一成立時(shí)執(zhí)行一個(gè)代碼塊
·???????? switch 語句?- 在若干條件之一成立時(shí)執(zhí)行一個(gè)代碼塊
PHP - if 語句
if 語句用于僅當(dāng)指定條件成立時(shí)執(zhí)行代碼。
簡單的IF語句由兩部分組成,expr是我們的表達(dá)式,而statement是我們需要執(zhí)行的代碼;當(dāng)expr為true的時(shí)候,statement被執(zhí)行;反之,則被忽略
if (expr)
statement
expr必須放在一對圓括號中間
通常在if條件判斷成功后,我們需要執(zhí)行多條語句,這種情況下,需要使用{}將語句括起來,組成代碼塊
?
語法
if (條件)
{
???????? 條件成立時(shí)要執(zhí)行的代碼;
}
如果當(dāng)前時(shí)間小于 20,下面的實(shí)例將輸出 "Have a good day!":
實(shí)例
<?php $t=date("H"); if ($t<"20") { echo "Have a good day!"; } ?>
?
PHP - if...else 語句
有時(shí)候我們不僅僅需要判斷當(dāng)expr條件為true時(shí)執(zhí)行什么語句,另外,當(dāng)expr條件為false時(shí)需要執(zhí)行什么
在條件成立時(shí)執(zhí)行一塊代碼,條件不成立時(shí)執(zhí)行另一塊代碼,請使用 if....else 語句。
語法
if (條件)
{
條件成立時(shí)執(zhí)行的代碼;
}
else
{
條件不成立時(shí)執(zhí)行的代碼;
}
如果當(dāng)前時(shí)間小于 20,下面的實(shí)例將輸出 "Have a good day!",否則輸出 "Have a good night!":
實(shí)例
<?php $t=date("H"); if ($t<"20") { echo "Have a good day!"; } else { echo "Have a good night!"; } ?>
PHP - if...else if....else 語句
在若干條件之一成立時(shí)執(zhí)行一個(gè)代碼塊,請使用 if....else if...else 語句。
語法
if (條件)
{
if 條件成立時(shí)執(zhí)行的代碼;
}
else if (條件)
{
elseif 條件成立時(shí)執(zhí)行的代碼;
}
else
{
條件不成立時(shí)執(zhí)行的代碼;
}
如果當(dāng)前時(shí)間小于 10,下面的實(shí)例將輸出 "Have a good morning!",如果當(dāng)前時(shí)間不小于 10 且小于 20,則輸出 "Have a good day!",否則輸出 "Have a good night!":
實(shí)例
<?php $t=date("H"); if ($t<"10") { echo "Have a good morning!"; } else if ($t<"20") { echo "Have a good day!"; } else { echo "Have a good night!"; } ?>
PHP - switch 語句
switch 語句將在下一章進(jìn)行講解。
?
?
三元運(yùn)算符
?PHP有一個(gè)特殊的運(yùn)算符,我們在之前學(xué)習(xí)運(yùn)算符的時(shí)候并沒有介紹,在學(xué)習(xí)了if和else
?語句后,我們可以介紹了
?(expr1) ? (expr2) : (expr3)
?當(dāng)expr1條件為真時(shí),值為expr2,否則值為expr3
?相當(dāng)于條件語句:
if? (expr1) {
? expr2
}? else? {
? expr3
}
?
elseif語句
?當(dāng)出現(xiàn)多個(gè)條件時(shí),我們可以使用elseif來構(gòu)造多選項(xiàng)的序列,相當(dāng)于else+if語句的組合,因此寫成 else if
?也是可以的,優(yōu)化代碼
?
舉個(gè)例子:
?
if?($dir?==?'west')?{
? ? echo?'西';
}?else?if?($dir?==?'east')?{
? ? echo?'東';
}?else?if?($dir?==?'north')?{
? ? echo?'北';
}?else?if?($dir?==?'sourth')?{
? ? echo?'南';
}?else?{
? ? echo?'未知';
}
?
需要注意:使用else if時(shí),每個(gè)代碼塊都是互斥的條件,最終只有一個(gè)代碼塊會被執(zhí)行。