Чет я никак не пойму какая разница между ними.
PS с праздничком че, братва)
Между ?: и ??
--------------
Мы можем сделать так:
$var1 = NULL;
$var2 = 'work';
echo $var1 ?: $var2;
А в php 7 ещё и так:
echo $var1 ?? $var2;
Результат тот же
Ну про первый
Выражение (expr1) ? (expr2) : (expr3) интерпретируется как expr2, если expr1 имеет значение TRUE, или как expr3 если expr1 имеет значение FALSE.
2) Null-коалесцентный оператор
Нет!!!!!
Мы можем сделать так:
$var1 = NULL;
$var2 = 'work';
echo $var1 ?: $var2;
А в php 7 ещё и так:
echo $var1 ?? $var2;
Assassin_Creed, отредактировал пост. 2 в интернете почитай.
всё равно разницы между ними нету
наверно так возьму и сделаю, интересно, че ита я раньше так не сделал?)
Null-коалесцентный оператор решает распространенную проблему в PHP. Она возникает в случае, если мы хотим присвоить значение переменной, которое присвоено другой переменной, но если последней переменной значение не было присвоено, то присвоить некое явное значение. Часто проявляется при работе с пользовательским вводом.
До PHP 7:
<?
if (isset($foo)) {
$bar = $foo;
} else {
$bar = 'default'; // присваиваем $bar значение 'default' если $foo равен NULL
}
?>
В PHP 7:
<?
$bar = $foo ?? 'default';
?>
PHP 5.6 вангует:
$bar = $foo ?: 'default';
Добавлено 09.05.16 в 16:21:43:
результат тот же + вложенность можно сделать