PHP中三元運算子的用法 php中三元運算子用法

2021-10-22 23:06:59 字數 819 閱讀 9981

語法:條件 ? 結果1 : 結果2

說明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。

**如下

$id = isset($_get['id']) ? $_get['id'] : false;

一條**替代了很多的**。首先,它使用isset ()函式,檢查$_get['id']是否存在。如果$_get['id']確實存在,它將返回它的價值。但是,如果它不存在,條件即為假,這時返回的是false。$id的值取決於$_get['id']是否存在。所以,基本上,如果$_get['id']存在,$id=$_get['id'],反之$id=false。

例用「?:」條件語句檢驗使用者輸入值:

**如下

while (!@feof($fp)) {

$line = @fgets($fp, 1024);

print $line;

@fclose($fp);

前面使用三元運算子的**和下面的**等同:

**如下

可以看出,假設用普通的if-else結構寫上述**,**量會比上面多出許多,但第二種形式更易理解,而且不要求更多的錄入。所以在挑選三元運算子時,請務必權衡一下利弊。

三元運算子優點

php中的三元運算子(?:)大大減少了程式設計師寫這些語句的時間。它的語法如下:

condition ? do_if_true : do_if_false;

三元運算子不是一種必不可少的結構,但卻是一種美化**的途徑。同樣,它可以取代不好的if…else**塊,並且可以提高**的可讀性。

同樣,使用者可以使用php的or運算服賦予變數預設值:

**如下

PHP 三元運算子

a a a 1 第一種 a a 1 第二種第二種寫法從 php 5.3 引入,表示若 a 返回值為真時,取 a 的返回值。此外,在 php7 中引入了?運算子 a a 1 該表示式與第二種寫法類似,可以達到相同的效果。但?運算子是以判斷 a 變數是否存在於上下文環境中作為條件,而三元運算子不具備這種...

php的三元運算子 和

1.expr1 expr2 expr3 表示式 expr1 expr2 expr3 在 expr1 求值為true時的值為 expr2,在 expr1 求值為false時的值為 expr3。其中false的值的判斷跟 if expr1 一樣,包括空字串 false 為空empty null 0 0....

php的三元運算子 和

1.expr1 expr2 expr3 表示式 expr1 expr2 expr3 在 expr1 求值為 true 時的值為 expr2,在 expr1 求值為 false 時的值為 expr3。例子 a a a 1 2.expr1 expr3 這個是php5.3開始才有的功能 在 expr1 求...