Полный цикл в digital

Проверка существования и пустоты переменной

Если переменная объявлена, но ей изначально не присвоено никакого значения (иначе говоря она не инициализирована), или если переменная вовсе неопределена, то нам будет проблематично ее использовать:

<?
$a;
echo $a;

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

Warning: Undefined variable $a in C:\localhost\hello.php on line 10

Ситуация может показатся искуственной. Тем не менее нередко переменные в PHP получают некоторые данные извне, например, ввод пользователя. Соответственно возникает необходимость перед использованием данных проверить, что эти данные определены, что они имеются.

Для проверки существования переменной PHP предоставляет ряд встроенных функций.

Оператор isset

Функция isset() позволяет определить, инициализирована ли переменная или нет. Если переменная определена, то isset() возвращает значение true. Если переменная не определена, то isset() возвращает false. Также если переменная имеет значение null функция isset() также возвращает false:

<?
$message;
if(isset($message))
echo $message;
else
echo "переменная message не определена";

Здесь переменная $message не инициализирована, поэтому выражение isset($message) будет возвращать значение false.

переменная message не определена

Теперь пусть переменная $message имеет начальное значение:

<?
$message = "Hello PHP";
if(isset($message))
echo $message;
else
echo "переменная message не определена";

В этом случае выражение isset($message) будет возвращать true, поэтому будет выполняться инструкция echo $message:

Hello PHP

Однако если переменной присвоено начальное значение null, то опять же будет считаться, что эта переменная не установлена:

<?
$message = null;
if(isset($message))
echo $message;
else
echo "переменная message не определена";
переменная message не определена

Оператор empty

Функция empty() проверяет переменную на "пустоту". "Пустая" переменная - это переменная, значение которой равно null, 0, false или пустой строке - в этом случае функция empty() возвращает true:

<?
$message = "";
if(empty($message))
echo "переменная message не определена";
else
echo $message;

Здесь переменная $message хранит пустую строку, поэтому выражение empty($message) возвратит true:

переменная message не определена

При этом если строка содержит даже хотя бы один пробел и больше ничего ($message = " "), то такая строка уже не считается пустой.

Функция unset

С помощью функции unset() мы можем уничтожить переменную:

<?
$a=20;
echo $a; // 20
unset($a);
echo $a; // ошибка, переменная не определена

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

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг