PHP If...Else 語句
條件語句用於根據不同條件執行不同動作。
PHP 條件語句
當您編寫代碼時,您常常需要為不同的判斷執行不同的動作。您可以在代碼中使用條件語句來完成此任務。
在 PHP 中,提供了下列條件語句:
- if 語句 - 在條件成立時執行代碼
- ? : -三元運算符
- if...else 語句 - 在條件成立時執行一塊代碼,條件不成立時執行另一塊代碼
- if...else if....else 語句 - 在若干條件之一成立時執行一個代碼塊
- switch 語句 - 在若干條件之一成立時執行一個代碼塊
PHP - if 語句
if 語句用於僅當指定條件成立時執行代碼。
語法
{
條件成立時要執行的代碼;
}
如果當前時間小於 20,下面的實例將輸出 "Have a good day!":
<?php $t=date("H"); if ($t<"20") { echo "Have a good day!"; } ?>
運行結果:
Have a good day!
三元運算符
另一個條件運算符是"?:"(或三元)運算符 。
語法格式
對 expr1 求值為 TRUE 時的值為 expr2,在 expr1 求值為 FALSE 時的值為 expr3。
自 PHP 5.3 起,可以省略三元運算符中間那部分。表達式 expr1 ?: expr3 在 expr1 求值為 TRUE 時返回 expr1,否則返回 expr3。
以下實例中通過判斷 $_GET 請求中含有 user 值,如果有返回 $_GET['user'],否則返回 nobody:
<?php $test = 'php中文網'; // 普通寫法 $username = isset($test) ? $test : 'nobody'; echo $username, PHP_EOL; // PHP 5.3+ 版本寫法 $username = $test ?: 'nobody'; echo $username, PHP_EOL; ?>
運行結果:
php中文網 php中文網
注意:PHP_EOL (\)是一個換行符,兼容更大平台。
這里解釋下,細心的你可能會發現,后面的PHP_EOL並沒有被瀏覽器顯示出來,因為瀏覽器只識別HTML標簽,如:<br />,<p>;PHP_EOL只有在文本中才會被顯示;
在 PHP7+ 版本多了一個 NULL 合並運算符,實例如下:
<?php // 如果 $_GET['user'] 不存在返回 'nobody',否則返回 $_GET['user'] 的值
$_GET['user] = '小明';
$username = $_GET['user'] ?? 'nobody';
echo $username;
echo "<br />"; // 類似的三元運算符 $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
echo $username; ?>
運行結果:
小明 小明
PHP - if...else 語句
在條件成立時執行一塊代碼,條件不成立時執行另一塊代碼,請使用 if....else 語句。
語法
{
條件成立時執行的代碼;
}
else
{
條件不成立時執行的代碼;
}
如果當前時間小於 20,下面的實例將輸出 "Have a good day!",否則輸出 "Have a good night!":
<?php $t=date("H"); if ($t<"20") { echo "Have a good day!"; } else { echo "Have a good night!"; } ?>
運行結果:
Have a good day!
PHP - if...else if....else 語句
在若干條件之一成立時執行一個代碼塊,請使用 if....else if...else 語句。.
語法
{
if 條件成立時執行的代碼;
}
else if ( 條件)
{
elseif 條件成立時執行的代碼;
}
else
{
條件不成立時執行的代碼;
}
如果當前時間小於 10,下面的實例將輸出 "Have a good morning!",如果當前時間不小於 10 且小於 20,則輸出 "Have a good day!",否則輸出 "Have a good night!":
<?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!"; } ?>
運行結果:
Have a good day!
switch 語句將在php條件語句(二)中