php中三元運(yùn)算符用法
php中三元運(yùn)算符用法如何算呢?就跟隨百分網(wǎng)小編一起去了解下吧,想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
語法:條件 ? 結(jié)果1 : 結(jié)果2
說明:?jiǎn)柼?hào)前面的位置是判斷的條件,如果滿足條件時(shí)結(jié)果1,不滿足時(shí)結(jié)果2。
代碼如下
?PHP $id = isset($_GET['id']) ? $_GET['id'] : false;
一條代碼替代了很多的代碼。首先,它使用isset ()函數(shù),檢查$_GET['id']是否存在。如果$_GET['id']確實(shí)存在,它將返回它的價(jià)值。但是,如果它不存在,條件即為假,這時(shí)返回的是false。$id的值取決于$_GET['id']是否存在。所以,基本上,如果$_GET['id']存在,$id=$_GET['id'],反之$id=false。
例
用“?:”條件語句檢驗(yàn)用戶輸入值:
代碼如下
?php $filename = isset($argv[1]) ? $argv[1] : "php://stdin";
$fp = @fopen($filename, ‘r’) or die("Can’t Open $filename for reading");
while (!@feof($fp)) {
$line = @fgets($fp, 1024);
print $line;
}
@fclose($fp);
前面使用三元運(yùn)算符的代碼和下面的代碼等同:
代碼如下
?php if (isset($argv[1])) {
$filename = $argv[1];
} else {
$filename = "php://stdin";
}
可以看出,假設(shè)用普通的if-else結(jié)構(gòu)寫上述代碼,代碼量會(huì)比上面多出許多,但第二種形式更易理解,而且不要求更多的錄入。所以在挑選三元運(yùn)算符時(shí),請(qǐng)務(wù)必權(quán)衡一下利弊。
三元運(yùn)算符優(yōu)點(diǎn)
PHP中的三元運(yùn)算符(?:)大大減少了程序員寫這些語句的時(shí)間。它的語法如下:
condition ? do_if_true : do_if_false;
三元運(yùn)算符不是一種必不可少的結(jié)構(gòu),但卻是一種美化代碼的途徑。同樣,它可以取代不好的if…else代碼塊,并且可以提高代碼的可讀性。
同樣,用戶可以使用PHP的or運(yùn)算服賦予變量默認(rèn)值:
代碼如下
?php $filename = $argv[1] or $filename = "php://stdin";
三元運(yùn)算符格式
如名字表示的三元運(yùn)算符需要三個(gè)操作數(shù)。
語法為:條件表達(dá)式?表達(dá)式1:表達(dá)式2。
說明:?jiǎn)柼?hào)前面的位置是判斷的條件,判斷結(jié)果為bool型,為true時(shí)調(diào)用表達(dá)式1,為false時(shí)調(diào)用表達(dá)式2。
其邏輯為:“如果條件表達(dá)式成立或者滿足則執(zhí)行表達(dá)式1,否則執(zhí)行第二個(gè)!背S迷谠O(shè)置默認(rèn)值,例如某個(gè)值不一定存在,則判斷這個(gè)值是否存在,不存在給默認(rèn)值(表達(dá)式2)。
【php中三元運(yùn)算符用法】相關(guān)文章:
PHP中三元運(yùn)算符的用法07-20
php三元運(yùn)算符知識(shí)點(diǎn)10-20
PHP三元運(yùn)算符的使用方法技巧09-07
PHP語言類型運(yùn)算符08-21
c語言位運(yùn)算符的用法08-27