Всем привет! В этом материале рассмотрим, что такое оператор null-объединения в PHP7 , зачем он нужен и как его использовать.
Всем привет! В этом материале рассмотрим, что такое оператор 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;
Итак, на этом все. Спасибо за внимание!
