エルビス演算子とNull合体演算子で、それぞれの挙動の違い

エルビス演算子(PHP5.3以降)
$val = ($_GET['value']) ?: 'default';
var_dump($_GET['value']) |
var_dump($val) |
備考 |
|---|---|---|
| NULL | string(7) "default" | Notice: Undefined index 発生 |
| string(0) "" | string(7) "default" | - |
| string(3) "aaa" | string(3) "aaa" | - |
Null合体演算子(PHP7.0以降)
$val = ($_GET['value']) ?? 'default';
var_dump($_GET['value']) |
var_dump($val) |
備考 |
|---|---|---|
| NULL | string(7) "default" | - |
| string(0) "" | string(0) "" | - |
| string(3) "aaa" | string(3) "aaa" | - |
2022-07-04 09:00:00
