PHP NULL合体演算子について

以下のコードは、$aが定義されていないためにエラーになると思っていた。

$result = $a->hoge->hoge ?: 'default';
print_r($result);

しかし、実際にはエラーにならない。

上記のコードは内部的にはissetで評価される動きになっているようなので、エラーにならないようだ。

つまり、以下のような感じになる。

$result = isset($a->hoge->hoge) ? $a->hoge->hoge : 'default';
print_r($result);

PHP

Posted by たみぼうず