国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

php三元運算符知識匯總

2019-11-02 15:52:03
字體:
來源:轉載
供稿:網友

   三元運算符語法:條件 ? 結果1 : 結果2 說明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。下面我們來詳細探討下。

  今天在改論文在線的時候遇到了一個語句看不懂:

  ?

  1$if_summary = $row['IF_SUMMARY']==2?'是':'否';

  后來百度后發現是PHP的三元運算符

  這句話的意思就等于是

  ?

  1

  2

  3

  4

  5if($row['IF_SUMMARY']==2){

  $if_summary="是";

  }else{

  $if_summary="否";

  }

  三元運算符的功能與“if...else”流程語句一致,它在一行中書寫,代碼非常精練、執行效率更高。

  在PHP程序中恰當地使用三元運算符能夠令腳本更為簡潔、高效。

  代碼格式如下:(expr1) ? (expr2) : (expr3);

  解釋:如果條件“expr1”成立,則執行語句“expr2”,否則執行“expr3”。

  實現同樣的功能,若使用條件流程語句,就需要書寫多行代碼:

  ?

  1

  2

  3

  4

  5

  6if(expr1) {

  expr2;

  } else {

  expr3;

  }

  可見,前面所說的三元運算符之好并非夸張。可是,多數情況下我們只在代碼較為簡單的時候使用三元運算符,即執行語句只為單句的時候。如:

  ?

  1$a>$b ? print "a大于b" : print "a小于b";

  事實上,三元運算符可以擴展使用,當設置的條件成立或不成立,執行語句都可以不止一句,試看以下格式:

  (expr1) ? (expr2).(expr3) : (expr4).(expr5);

  我們非常明顯地看到,多個執行語句可以使用用字符串運算符號(“.”)連接起來,各執行語句用小角括號包圍起來以表明它是一個獨立而完整的執行語句。這樣擴展后它的功能更為逼近“if...else”流程語句。

  同時三元運算符還可以嵌套使用。例如,a大于b成立時:如果a小于c,那么x=c-a否則x=a-c;否則a小于b成立時:如果b小于c,那么x=c-b否則x=b-c:

  $a>$b

歷史名人[www.9-39.com/html/person/]
? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);

  嵌套使用的三元運算符可讀性不太好,日后對代碼的維護極可能存在問題,但比起“if...else”之類的流程語句,在上述情形之下,它的確太簡練了,這是它的誘人之處。

  對于喜歡偷懶和追求代碼簡潔的人來說,用三元運算符取代if流程語句應該是絕佳的選擇。即使不用考慮“三元”中條件句以外的任意某一“元”,使用三元運算符仍然比if語句簡練。以下語句的語法是正確的,它們以小解引號的方式忽略了第二或第三“元”:

  ?

  1

  2$a>$b ? print "Yes" : "";

  $a>$b ? '': print 'No';

  應該注意的是:在使用三元運算符時,建議使用print語句替代echo語句。

  注意下列一串語句的理解:

  ?

  1$str = $_GET['abc'] ? 'wangjinbo' : 'wjb';

  這里不能理解為:當$str等于$_GET['abc'] 時,賦值為 'wangjinbo' 否則賦值為 'wjb';因為一:判斷相等應該用==;因原二:三元算符的語法是如上所示:(expr1) ? (expr2) : (expr3),顯然上面的二元,三元'wangjinbo'或'wjb'不能單獨構成一個有意義的表達式;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合肥市| 上栗县| 红原县| 社旗县| 丹东市| 杭锦旗| 定襄县| 贵溪市| 山西省| 盖州市| 宁河县| 大埔县| 永和县| 吉林市| 永定县| 辰溪县| 恩平市| 宁蒗| 寻甸| 青州市| 定襄县| 曲水县| 邓州市| 兴隆县| 纳雍县| 瑞安市| 广元市| 阳曲县| 定远县| 津市市| 察隅县| 隆化县| 吉安县| 凯里市| 桂阳县| 乌拉特前旗| 东台市| 余庆县| 长垣县| 丰县| 镇原县|