Введение

is_null() принимает переменную и возвращает true, если эта переменная равна null. В противном случае возвращается false.
В этом синтаксисе $v - проверяемая переменная. Если переменная $v не существует, is_null() также возвращает true и выводит уведомление.
Так как is_null() - это языковая конструкция, а не функция, её нельзя вызывать через переменные функций. Например, следующий код приведёт к ошибке:
Однако можно определить функцию-обёртку для is_null():
Либо использовать стрелочную функцию:

Примеры использования PHP is_null()

Проверка несуществующей переменной:
Этот код вернёт true, так как переменная $count не определена, и выведет уведомление: Notice: Undefined variable: $count.
Проверка переменной, явно равной null:
Проверка переменной, не равной null:
Использование is_null() с массивами:
Также будет выведено уведомление: Notice: Undefined index: link.
Использование is_null() со строками:

Сравнение с операторами == и ===

Оператор равенства (==)

Сравнивает значения без учёта типа. Сравнение null с любыми "ложными" значениями вернёт true:
Вывод:

Оператор тождественности (===)

Сравнивает и тип, и значение. Только null === null вернёт true:
Вывод:

Сравнение с помощью is_null()

is_null() работает аналогично оператору ===, возвращая true только для значения null:
Вывод:

Итог

  • is_null() проверяет значение и возвращает true, если оно равно null, иначе false.
  • Поведение полностью совпадает с оператором тождественности (===).
  • Для несуществующих переменных или индексов возвращает true и выводит уведомление.
  • Позволяет корректно отличать null от других "ложных" значений в PHP.
  • Не может быть вызвана как функция через переменную, только напрямую.
  • Для обёртки можно использовать пользовательскую функцию или стрелочную функцию.
  • При работе с массивами и строками важно учитывать возможные уведомления о несуществующих индексах или смещениях.
  • Оператор равенства (==) считает null равным многим другим "ложным" значениям, а оператор тождественности (===) и функция is_null() - только самому null.