LoginSignup
1
1

More than 1 year has passed since last update.

【PHP】エルビス演算子

Posted at

エルビス演算子

PHP5.3から導入
三項演算子の第二項が省略できるもの

三項演算子
$a ? $a : $b;

エルビス演算子 // 第二項が省略されている
$a ?: $b;

上記の2つは同じ動きをする

公式から抜粋

式 expr1 ?: expr3 の結果は、expr1 が true と同等の場合はexpr1、 それ以外の場合は expr3 となります。

例えば

$a = 'Aです';
$b = 'Bです';

echo $a ?: $b;

//出力

Aです
$a = false;
$b = 'Bです';

echo $a ?: $b;

// 出力

Bです

という感じで、第一項がtrueなら第一項が評価され、第一項がfalseだったら第二項が評価される。

様々な値で試してみる

第一項の値 評価された項
'a' 第1項
1 第1項
-1 第1項
'1' 第1項
0.1 第1項
'0.1' 第1項
'0' 第2項
0 第2項
true 第1項
false 第2項
null 第2項
未定義の変数 第2項
空の配列 第2項

値がfalthyであれば第二項が評価されることがわかる。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1