Null Coalesce в скобках, в if(). Работает ли это так, как (я) ожидал?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Null Coalesce в скобках, в if(). Работает ли это так, как (я) ожидал?

Сообщение Anonymous »

Мне просто интересно, работает ли это с использованием нулевого объединения в операторе if().
Без строки запроса это дает мне предупреждение: неопределенный ключ массива:

Код: Выделить всё

    if($_GET['foo'] == 'bar'){
doAThing();
}
тогда как

Код: Выделить всё

    if(($_GET['foo'] ?? 0) == 'bar'){
doAThing();
}
похоже, работает. Просто надеюсь, что нет какой-то странной ошибки.
Я также заметил, что вы можете присвоить значение ранее нулевой переменной:

Код: Выделить всё

    if(($_GET['foo'] ??= false) == 'bar'){
doAThing();
}
$a = $_GET['foo'];//now equals false, no warning
И это здорово, потому что теперь вы можете использовать $_GET['foo'] без проверки на нулевое значение или нулевое объединение.

Подробнее здесь: https://stackoverflow.com/questions/781 ... i-expected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»