在做PHP開發的過程中,在引入SDK做專案開發的時候,經常會遇到一些不常見的運算子,正好自己也學習一下。
執行的結果:
就比如上面看到的運算子 ?: 和 ?? 運算子和我們常見的三目運算子不同,但是也有點類似。
三目運算子是這樣的:
$abs = !empty($list) ? 'a' : 'b';
而空合併運算子 ?: 運算子則表示:如果存在,則返回結果;不存在就返回後面的值。例如:
$abs = !empty($list) ?: 'b';
如果條件為真,則返回結果,結果是一個Boolean值;如果不為真,則返回後面的字串。
而空合併運算子 ?? 運算子則表示:如果存在則返回這個結果,不存在就返回另外一個結果:
$abs = $a ?? $b;
如果 $a 存在且其值不是 null,則 $abs 被賦予 $a 的值;
如果 $a 不存在且其值不是 null,則 $abs 被賦予 $b 的值;