Справочники, инструменты, документация

PHP: Проверяем переменную на пустоту с помощью empty и isset

Empty проверяет, пуста ли переменная. Если переменная не существует, предупреждение не генерируется.

Это значит, что empty() фактически является точным эквивалентом конструкции !isset($var) || $var == false.

Возвращает FALSE, если var существует, и содержит непустое и ненулевое значение. В противном случае возвращает TRUE. Следующие значения воспринимаются как пустые:

  • "" пустая строка
  • 0 целое число
  • 0.0 дробное число
  • "0" строка
  • NULL
  • FALSE
  • array() пустой массив
  • $var; переменная объявлена, но не имеет значения

Простое сравнение empty() и isset():

$var = 0;

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

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