熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

php中三元運算符用法

2013-11-15 12:25:48  來源: PHP編程 

  語法條件 ? 結果 : 結果

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

 代碼如下  

  <?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[]) ? $argv[] : "php://stdin";
$fp = @fopen($filename ‘r’) or die("Can’t Open $filename for reading");

  while (!@feof($fp)) {
    $line = @fgets($fp );
    print $line;
}

  @fclose($fp);
?>

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

 代碼如下  

  <?php
if (isset($argv[])) {
    $filename = $argv[];
} else {
    $filename = "php://stdin";
}
?>

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

  三元運算符優點

  PHP中的三元運算符(?:)大大減少了程序員寫這些語句的時間它的語法如下

  condition ? do_if_true : do_if_false;

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

  同樣用戶可以使用PHP的or運算服賦予變量默認值

 代碼如下  

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


From:http://tw.wingwit.com/Article/program/PHP/201311/20934.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.