PHP7で2項演算子「??」が新設されます。左オペランドがnull以外の値であればその値を、そうでなければ右オペランドを返すようなものです。
<?php
var_dump(null ?? false ?? true); // false
これはPHP 5.3で導入されたエルビス演算子「?:」と少し似ています。エルビス演算子は真偽の判断を行いますが、??演算子はnullかどうかの判断を行う点が異なっています。
<?php
var_dump(null ?: false ?: true); // true
それだけでなく、??演算子はisset()と同様に未定義値をチェックしてもエラーになりません。これは非常に大きな違いで、??演算子があれば今までのisset()地獄から解放されるかもしれません。
<?php
var_dump($arr["foo"] ?: "bar"); // 未定義だとUndefined variableかUndefined indexで怒られちゃう
var_dump(isset($arr["foo"]) ? $arr["foo"] : "bar"); // 結局こう書いてたよね…
var_dump($arr["foo"] ?? "bar"); // PHP7ではこれで動く!