empty

(PHP 4, PHP 5, PHP 7, PHP 8)

emptyПроверяет, пуста ли переменная

Описание

empty(mixed $var): bool

Проверяет, считается ли переменная пустой. Переменная считается пустой, если она не существует или её значение равно false. Языковая конструкция empty() не генерирует предупреждение, если переменная не существует.

Список параметров

var

Проверяемая переменная.

Если переменная не существует, предупреждение не генерируется. То есть конструкция empty() — это краткий эквивалент конструкции !isset($var) || $var == false.

Возвращаемые значения

Возвращает true, если переданная в параметр var переменная не существует, содержит пустое значение или равно нулю, то есть ложно, подробнее о приведении значений к логическим типам рассказано в параграфе преобразование в логический тип. В остальных случаях возвращает false.

Примеры

Пример #1 Простое сравнение языковых конструкций empty() и isset().

<?php
$var
= 0;

// Принимает значение true, потому что переменная $var содержит пустое значение
if (empty($var)) {
echo
'$var или 0, или пусто, или вообще не определена';
}

// Принимает значение true, потому что переменная $var определена
if (isset($var)) {
echo
'$var определена, даже если она пустая';
}
?>

Пример #2 Конструкция empty() и строковые индексы

<?php
$expected_array_got_string
= 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>

Результат выполнения приведённого примера:

bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, её нельзя вызывать как переменную функцию или передавать как именованный аргумент.

Замечание:

При вызове языковой конструкции empty() на недоступных (необъявленных, защищённых или закрытых) свойствах объекта вызывается метод перегрузки — __isset(), если он определён.

Смотрите также

  • isset() - Определяет, была ли установлена переменная значением, отличным от null
  • __isset()
  • unset() - Удаляет переменную
  • array_key_exists() - Проверяет, существует ли в массиве заданный ключ или индекс
  • count() - Подсчитывает количество элементов в массиве или в объекте Countable
  • strlen() - Получает длину строки
  • Таблица сравнения типов