php Два знака вопроса что это ?? -- Null-коалесцентный оператор
Primary tabs
Два знака вопроса, идущие подряд без пробела (впервые появились появились в 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-features.php#migration70.new-features.null-coalesce-op
- Log in to post comments
- 52602 reads