溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php三元運算符相關知識總結

發(fā)布時間:2021-09-03 19:20:20 來源:億速云 閱讀:156 作者:chen 欄目:開發(fā)技術

這篇文章主要介紹“php三元運算符相關知識總結”,在日常操作中,相信很多人在php三元運算符相關知識總結問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php三元運算符相關知識總結”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

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

后來百度后發(fā)現(xiàn)是PHP的三元運算符

這句話的意思就等于是

if($row['IF_SUMMARY']==2){
$if_summary="是";
}else{
$if_summary="否";
}

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

在PHP程序中恰當?shù)厥褂萌\算符能夠令腳本更為簡潔、高效。

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

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

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

if(expr1) {

expr2;
} else {
expr3;
}

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

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

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

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

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

同時三元運算符還可以嵌套使用。例如,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...else”之類的流程語句,在上述情形之下,它的確太簡練了,這是它的誘人之處。
對于喜歡偷懶和追求代碼簡潔的人來說,用三元運算符取代if流程語句應該是絕佳的選擇。即使不用考慮“三元”中條件句以外的任意某一“元”,使用三元運算符仍然比if語句簡練。以下語句的語法是正確的,它們以小解引號的方式忽略了第二或第三“元”:

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

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

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

$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';

到此,關于“php三元運算符相關知識總結”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

php
AI