關於編程之php三元運算符的知識點
【提要】本篇《php三元運算符知識點》特別為需要編程學習的朋友收集整理的,僅供參考。內容如下:
三元運算符語法:條件 ? 結果1 : 結果2 説明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。以下是小編為大家搜索整理php三元運算符知識點,希望能給大家帶來幫助!更多精彩內容請及時關注我們考試網!
1$if_summary = $row[IF_SUMMARY]==2?是:否;
後來百度後發現是PHP的三元運算符
這句話的意思就等於是
5if($row[IF_SUMMARY]==2){
$if_summary="是";
}else{
$if_summary="否";
}
三元運算符的功能與“”流程語句一致,它在一行中書寫,代碼非常精練、執行效率更高。
在PHP程序中恰當地使用三元運算符能夠令腳本更為簡潔、高效。
代碼格式如下:(expr1) ? (expr2) : (expr3);
解釋:如果條件“expr1”成立,則執行語句“expr2”,否則執行“expr3”。
實現同樣的功能,若使用條件流程語句,就需要書寫多行代碼:
6if(expr1) {
expr2;
} else {
expr3;
}
可見,前面所説的.三元運算符之好並非誇張。可是,多數情況下我們只在代碼較為簡單的時候使用三元運算符,即執行語句只為單句的時候。如:
1$a>$b ? print "a大於b" : print "a小於b";
事實上,三元運算符可以擴展使用,當設置的條件成立或不成立,執行語句都可以不止一句,試看以下格式:
(expr1) ? (expr2).(expr3) : (expr4).(expr5);
我們非常明顯地看到,多個執行語句可以使用用字符串運算符號(“.”)連接起來,各執行語句用小角括號包圍起來以表明它是一個獨立而完整的執行語句。這樣擴展後它的功能更為逼近“”流程語句。
同時三元運算符還可以嵌套使用。例如,a大於b成立時:如果a小於c,那麼x=c-a否則x=a-c;否則a小於b成立時:如果b小於c,那麼x=c-b否則x=b-c:
$a>$b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);
嵌套使用的三元運算符可讀性不太好,日後對代碼的維護極可能存在問題,但比起“”之類的流程語句,在上述情形之下,它的確太簡練了,這是它的誘人之處。
對於喜歡偷懶和追求代碼簡潔的人來説,用三元運算符取代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不能單獨構成一個有意義的表達式;
正確理解是:當$_GET[abc]為空(也就是否,PHP中 ,null,0,undifine,都等效布爾值false)時,將$str賦值為wangjinbo,否則賦值為wjb;
-
python批量生成本地ip地址的方法是什麼
python批量生成本地ip地址的方法是什麼呢?本文實例講述了python批量生成本地ip地址的方法。分享給大家供大家參考。具體分析如下:...
-
javascript中的return和閉包函數
複製代碼代碼如下:functionmakefunc(x){returnfunction(){returnx;}}alert(makefunc(0));其實不是不執行,只是朋友的意思這裏alert出來的`應該是“0”,而不是function(){returnx;}。不是腳本寫錯了,只是沒搞懂return,從當前函數退出,並從那個函數返回一個值。如果返...
-
網頁設計很糟糕的10個原因
個好的網頁設計,不僅吸引眼球,也是實用的、直觀的、層級簡單卻足夠複雜到保持用户的興趣。但是不好的網頁設計是由很多原因造成的,下面是關於網頁設計很糟糕的10個原因,歡迎閲讀了解!沒有足夠的空白空白可以説是設計中最重要的一部分。它有助於防止用户在瀏覽網站時...
-
WAP教程:WML 鏈接和圖像
鏈接可以製作WML卡片來顯示WML的錨功能,圖像可以製作WML卡片來顯示圖像.鏈接可以製作WML卡片來顯示WML的錨功能。標籤總是要規定一個任務("go","prev",或"refresh")。任務定義了當用户選擇此鏈接時要做的事情。在本例中,當用户選擇"Nextpage",其任務是"前往":Next...