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';
- Log in to post comments
- 51877 reads