Всем привет! В этом материале рассмотрим, что такое оператор null-объединения в PHP7 , зачем он нужен и как его использовать.

Новинки в PHP7. Часть 3.

Всем привет! В этом материале рассмотрим, что такое оператор null-объединения в PHP7, зачем он нужен и как его использовать.

Данный оператор применяется для того, чтобы задать какое-то значение переменной и не использовать при этом функцию isset. Давайте рассмотрим пример.

if(isset($smth)) {
  $variable = $smth;
} else {
  $variable = 'default';
}

В этом случае мы задаем переменной значение, если это значение существует и не равно null, иначе же записываем туда строку по умолчанию. Достаточно много кода для такой простой операции, не кажется ли вам? Вот именно так подумали разработчики и создали оператор null-объединения, который позволит выполнить ту же задачу более лаконично.

$variable = $smth ?? 'default';

Как вы можете видеть в коде выше, данный оператор обозначается двумя знаками вопроса. Конечно же, мы можем делать больше условий:

$variable = $smth ?? $smth_2 ?? $object->smth ?? 'default';

В этом случае в переменную запишется первое значение, если оно существует и не равно null, иначе же второе, третье, и, если ничего не подошло, запишется строка по умолчанию.

Где это применять? На самом деле почти везде. В качестве примера можно привести получение параметра из GET-запроса. Ниже вы найдете код в старом и новом стилях и сможете сравнить, насколько теперь стало проще и быстрее писать проверки.

// старый стиль
$parameter = 'null';
if(isset($_GET['query'])) {
  $parameter = $_GET['query'];
}

echo $parameter;

// новый стиль
$parameter = $_GET['query'] ?? 'null';
echo $parameter;

Итак, на этом все. Спасибо за внимание!