php中三元運算子用法_PHP教程

來源:互聯網
上載者:User
文法:條件 ? 結果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。


用“?:”條件陳述式檢驗使用者輸入值:

代碼如下

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

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

代碼如下

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運算服賦予變數預設值:

代碼如下

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

http://www.bkjia.com/PHPjc/372094.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/372094.htmlTechArticle文法:條件 ? 結果1 : 結果2 說明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。 代碼如下 ?PHP $id = isset($_GET['id...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.