null合体演算子(null coalesce operator)は、opr1 ?? opr2
の形をとり、以下の様に結果を返す。
- 左辺
opr1
の評価結果がnullでない場合は評価結果をそのまま返す - 左辺
opr1
の評価結果がnullの場合は右辺opr2
を返す
1 2 3 4 |
>>> 1 + 2 ?? 'Resula is null' => 3 >>> null ?? 'Result is NULL' => "Result is NULL" |
変数の場合。未定義だとnullで第2オペランドが、定義済みだとその内容が返る。
1 2 3 4 5 6 |
>>> $var ?? 'Resula is null' => "Resula is null" >>> $var = 3 => 3 >>> $var ?? 'Resula is null' => 3 |
??
単独の演算子ではなく、左辺の評価対象と右辺の戻り値を含めて戻り値を持つ式に相当し、三項演算子と似ている。