在php中,三元運算符用于根據第一個表達式的結果在另外兩個表達式中選擇一個并執(zhí)行,語法“(expr1)?(expr2):(expr3);”;如果第一個表達式“expr1”成立,則執(zhí)行第二個表達式“expr2”,否則執(zhí)行“expr3”表達式。
本教程操作環(huán)境:windows7系統、PHP7.1版,DELL G3電腦
在 PHP 中,三元運算符可以實現簡單的條件判斷功能,即根據第一個表達式的結果在另外兩個表達式中選擇一個并執(zhí)行,三元運算符也被稱為三目運算符或者條件運算符。
三元運算符的功能與“if else”語句一致,它可以在一行中書寫,代碼精練、執(zhí)行效率更高。在 PHP 程序中恰當地使用三元運算符能夠讓腳本更為簡潔、高效。
三元運算符的語法格式如下:
(expr1)?(expr2):(expr3); //表達式1?表達式2:表達式3
如果條件“expr1”成立,則執(zhí)行語句“expr2”,否則執(zhí)行“expr3”。
示例代碼如下:
<?php $a = 10; $a % 2 == 0 ? print '$a 是偶數!' : print '$a 是奇數!'; ?>
運行結果如下:
$a 是偶數!
另外 expr2 和 expr3 也可以使用單引號('')或雙引號("")來省略其中的任意一個,來避免不必要的代碼,如下所示:
<?php $a = 10; $b = 7; $a % 2 == 0 ? print '$a 是偶數!<br>' : ""; $b % 2 == 0 ? '' : print '$b 是奇數!'; ?>
運行結果如下:
$a 是偶數! $b 是奇數!
注意:使用三元運算符時,如果需要打印字符串,建議使用 print 語句替代 echo 語句。
不僅如此,三元運算符還可以擴展使用,當設置的條件成立或不成立,執(zhí)行語句都可以不止一句,語法格式如下:
(expr1) ? (expr2).(expr3) : (expr4).(expr5);
可以看到,多個執(zhí)行語句之間可以使用用字符串運算符“.”連接起來,各個執(zhí)行語句用小括號包裹起來以表明它是一個獨立而完整的執(zhí)行語句。
同時三元運算符還可以嵌套使用,示例如下所示例:
<?php $a = 10; $b = 6; $c = 12; $x = $a>$b ? ($a<$c ? $c-$a : $a-$c) : ($b<$c ? $c-$b : $b-$c); echo '$x ='.$x; ?>
注意,第五行的賦值操作會等待三元運算符執(zhí)行完后才會執(zhí)行。
運行結果如下:
$x =2
嵌套使用的三元運算符雖然可以節(jié)省很多代碼,但是可讀性不太好,日后代碼維護起來也很不方便,所以像這種情況我們盡量使用 if else 語句來實現。
推薦學習:《PHP視頻教程》