三項演算子とNull合体演算子とエルビス演算子

三項演算子とNull合体演算子とエルビス演算子

三項演算子

書式:$result = (条件式) ? 真の値 : 偽の値;

例:$result = $score >=60 ? "passed" : "failure";
このコードの場合、$scoreが60以上の場合はpassed、そうではない場合はfailureが$resultに代入される。

三項演算子によってコードが長くなる、読みづらくなる場合は、かわりに以下の演算子の採用によってコードを簡潔に書くことができる。

Null合体演算子(??)

書式:$result = $value ?? 'default';
$valueがNullでなかった場合は$valueの値が、Nullの場合はdefaultが$resultに代入されます。

例:$userdata = $_POST['userdata'] ?? '';
$_POST['userdata']がNullではないならその値を$userdataに代入します。
そうでない場合は空の文字列('')を代入します。

エルビス演算子(?:)

書式:$result = $expression ?: $default;
$expressionがtrueの場合は、$expressionの値が、falseの場合は、$defaultの値が$resultに代入されます。

例:$userdata = $_POST['userdata'] ?: [];
$_POST['userdata']がtrueならその値を$userdataに代入します。
そうでない場合は、空の配列([])を$userdataに代入します。