三元運算子大家平常肯定不少用,但是,你真的了解三元運算子嗎?
表示式(expr1) ? (expr2) : (expr3)
在 expr1 求值為true
時的值為 expr2,在 expr1 求值為false
時的值為 expr3。
比較簡單,和字面意思一樣,expr1 為真時返回 expr2,反之返回 expr3。
自 php 5.3 起,可以省略三元運算子中間那部分。表示式expr1 ?: expr3
在 expr1 求值為true
時返回 expr1,否則返回 expr3。
需要注意的是,當 expr1 為表示式時,返回值為結果值。例如:
$b = -3;$a = $b>0 ?: 'b is little'; //
bool(true)
為變數則返回對應的變數值。
$b = 3;$a = $b ?: 'b is little'; //
int 3
php 7 開始存在 "??" (null 合併)運算子。主要用來作 isset 的判斷。
當 expr1 為null
,表示式(expr1) ?? (expr2)
等同於 expr2,否則為 expr1。
使用過程中一定要先明確表示式的返回結果,要不然挖坑把自己埋了,排錯都萬萬想不到會是乙個表示式的問題。別問為啥知道的,問就是自己踩過坑。
三元運算子
根據條件執行兩個語句中的其中乙個。test?語句1 語句2引數 test 任何boolean 表示式。語句1當 test 是true時執行的語句。可以是復合語句。語句2當 test 是false時執行的語句。可以是復合語句。說明?運算子是if.else語句的快捷方式。它通常被用作較大表示式的一部分,...
三元運算子
先定義a和b 兩個數比較 int a 123 int b 144 通過定義big來反映a和b誰更小 int big a b?a b 通過定義small來反映a和b誰更小 int small asystem.out.println a和b之間較大的數 big system.out.println a和...
三元運算子
一元運算子 只需要乙個資料就可以操作的運算子 例如 取反!自增 二元運算子 需要兩個資料才可以操作的運算子。例如 加法 三元運算子 需要三個資料才可以進行操作的運算子 格式 資料型別 變數名稱 條件判斷?表示式a 表示式b 流程 首先判斷條件是否成立 如果成立為true,那麼將表示式a的值賦值給左側...