isset() возвращает true, если переменная установлена и не равна null.
isset() - это языковая конструкция, а не функция. Поэтому её нельзя присваивать переменной, возвращать из функции или вызывать динамически через переменную-функцию.
Пример, который приведёт к ошибке:
Ошибка:
Чтобы обойти это ограничение, можно создать функцию, использующую isset(), и вызывать её через переменную-функцию. Например:
Или короче с помощью синтаксиса стрелочной функции:

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

Проверка несуществующей переменной:
Проверка существующей переменной с ненулевым значением:
Проверка переменной, которой присвоено null:
Проверка после удаления переменной:

Использование isset() с массивами

Если передать элемент массива в isset(), она вернёт true, если элемент существует и не равен null.
Если элемент не существует:
Если элемент массива равен null:

isset() с индексами строк

isset() работает и с индексами строк.
Если индекс выходит за пределы строки:

isset() с несколькими переменными

isset() может принимать несколько переменных и возвращает true, если все они установлены и не равны null. Проверка идёт слева направо и останавливается при первой несуществующей переменной.
Если одна из переменных равна null:
В этом случае $z не будет проверяться.

Итог

  • isset() - это языковая конструкция, а не функция.
  • Возвращает true, если переменная установлена и не равна null.
  • Для массивов - если элемент существует и не равен null.
  • Для строк - если индекс валиден.
  • Для нескольких переменных - только если все установлены и не равны null (проверка останавливается на первой несуществующей).