當前位置:才華齋>計算機>php語言>

php中三元運算子用法

php語言 閱讀(4.84K)

php中三元運算子用法如何算呢?就跟隨本站小編一起去了解下吧,想了解更多相關資訊請持續關注我們應屆畢業生考試網!

php中三元運算子用法

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

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

程式碼如下

<?PHP

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

?>

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

用“?:”條件語句檢驗使用者輸入值:

程式碼如下

<?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);

?>

前面使用三元運算子的程式碼和下面的程式碼等同:

程式碼如下

<?php

if (isset($argv[1])) {

$filename = $argv[1];

} else {

$filename = "php://stdin";

}

?>

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

三元運算子優點

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

condition ? do_if_true : do_if_false;

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

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

程式碼如下

<?php

$filename = $argv[1] or $filename = "php://stdin";

?>