《PHP實例:php三元運算符知識匯總》要點:
本文介紹了PHP實例:php三元運算符知識匯總,希望對您有用。如果有疑問,可以聯系我們。
本日在改論文在線的時候遇到了一個語句看不懂:
PHP編程
$if_summary = $row['IF_SUMMARY']==2?'是':'否';
后來百度后發現是PHP的三元運算符
PHP編程
這句話的意思就等于是PHP編程
if($row['IF_SUMMARY']==2){ $if_summary="是"; }else{ $if_summary="否"; }
三元運算符的功能與“if...else”流程語句一致,它在一行中書寫,代碼非常精練、執行效率更高.PHP編程
在PHP程序中恰本地使用三元運算符能夠令腳本更為簡潔、高效.PHP編程
代碼格式如下:(expr1) ? (expr2) : (expr3);
PHP編程
解釋:如果條件“expr1”成立,則執行語句“expr2”,否則執行“expr3”.
PHP編程
實現同樣的功能,若使用條件流程語句,就必要書寫多行代碼:
PHP編程
if(expr1) { expr2; } else { expr3; }
可見,前面所說的三元運算符之好并非夸張.可是,多數情況下我們只在代碼較為簡單的時候使用三元運算符,即執行語句只為單句的時候.如:PHP編程
$a>$b ? print "a大于b" : print "a小于b";
事實上,三元運算符可以擴展使用,當設置的條件成立或不成立,執行語句都可以不止一句,試看以下格式:PHP編程
(expr1) ? (expr2).(expr3) : (expr4).(expr5);PHP編程
我們非常明顯地看到,多個執行語句可以使用用字符串運算符號(“.”)連接起來,各執行語句用小角括號包抄起來以表明它是一個獨立而完整的執行語句.這樣擴展后它的功能更為逼近“if...else”流程語句.
PHP編程
同時三元運算符還可以嵌套使用.例如,a大于b成立時:如果a小于c,那么x=c-a否則x=a-c;否則a小于b成立時:如果b小于c,那么x=c-b否則x=b-c:PHP編程
$a>$b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);PHP編程
嵌套使用的三元運算符可讀性不太好,日后對代碼的維護極可能存在問題,但比起“if...else”之類的流程語句,在上述情形之下,它的確太簡練了,這是它的誘人之處.
對于喜歡偷懶和追求代碼簡潔的人來說,用三元運算符取代if流程語句應該是絕佳的選擇.即使不用考慮“三元”中條件句以外的任意某一“元”,使用三元運算符仍然比if語句簡練.以下語句的語法是正確的,它們以小解引號的方式忽略了第二或第三“元”:PHP編程
$a>$b ? print "Yes" : ""; $a>$b ? '': print 'No';
應該注意的是:在使用三元運算符時,建議使用print語句替代echo語句.PHP編程
注意下列一串語句的理解:PHP編程
$str = $_GET['abc'] ? 'wangjinbo' : 'wjb';
這里不能理解為:當$str等于$_GET['abc']? 時,賦值為 'wangjinbo'? 否則賦值為 'wjb';因為一:判斷相等應該用==;因原二:三元算符的語法是如上所示:(expr1) ? (expr2) : (expr3),顯然上面的二元,三元'wangjinbo'或'wjb'不能單獨構成一個有意義的表達式;PHP編程
正確理解是:當$_GET['abc']為空(也便是否,PHP中 '',null,0,undifine,都等效布爾值false)時,將$str賦值為'wangjinbo',否則賦值為'wjb';PHP編程
以上所述便是本文的全部內容了,希望大家能夠喜歡.PHP編程
歡迎參與《PHP實例:php三元運算符知識匯總》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9981.html