Блог веб разработки статьи | видеообзоры | исходный код

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

php null

php null

Всем привет. Сегодня мы познакомимся с интересным оператором который появился в php7, а именно оператором объединения null. Итак, поехали!

Допустим мы хотим проверить на существование параметр id в адресной строке и исходя из этого вернуть определенный результат.

$id = $_GET['id'] ?? 1;

Значение $_GET['id'] присваивается переменной $id только в том случае если оно не равно null, иначе будет присвоено значение 1.

То есть данный кусок кода можно представить в таком виде.

$id = isset($_GET['id']) ? $_GET['id'] : 1;

Чувствуете разницу не так ли? Более того с помощью данного оператора мы можем создавать целые цепочки проверок на null.

$referer = $_SESSION['referer'] ?? $_REQUEST['referer']  ?? $_SERVER['HTTP_REFERER'] ?? -1;

echo $referer;

Здесь мы поочередно проверяем наличие параметра referer в супер глобальных массивах до тех пор пока нам не будет возвращено значение отличительное от null(не определено).

Если параметр не будет найден в конце вернется 1.

Без использования оператора ?? нам пришлось бы написать такую конструкцию:

$referer = -1;

if(isset($_SESSION['referer'])){
    $referer = $_SESSION['referer'];
}


if(isset($_REQUEST['referer'])){
    $referer = $_REQUEST['referer'];
}

if(isset($_SERVER['referer'])){
    $referer = $_SERVER['referer'];
}

echo $referer;

Здесь наглядно показано насколько можно упростить написание кода используя оператор объединения ??.

На этом данная статья подошла к концу. Если что то было непонятно, то оставляйте свои вопросы в комментариях или группе

вк.

Я с вами прощаюсь. Желаю успехов и удачи! Пока.

Оцените статью:

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

Все комментарии отправлены на модерацию

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm