php Два знака вопроса что это ?? -- Null-коалесцентный оператор

Два знака вопроса, идущие подряд без пробела (впервые появились появились в php7) -- это не что иное как:

Null-коалесцентный оператор

Решает распространенную проблему в PHP.
Она возникает в случае, если мы хотим присвоить значение переменной, которое присвоено другой переменной, но если последней переменной значение не было присвоено (isset), то присвоить некое явное значение по умолчанию.

Часто проявляется при работе с пользовательским вводом.

До PHP 7:

if (isset($foo)) {
    $bar = $foo;
} else {
     // присваиваем $bar значение 'default' если $foo равен NULL
    $bar = 'default'; 
}

В PHP 7 (теперь можно)):

$bar = $foo ?? 'default';

Можно использовать с цепочкой переменных:

$bar = $foo ?? $baz ?? 'default';

Источник: http://php.net/manual/ru/migration70.new...