TGViewer
PHP Academy PHP Academy @phpshka · 9.25K subscribers
Post #578 1.92K
🔥 Как избежать проблем с isset() и empty() в PHP?

Сегодня разберём две часто используемые функции в PHP — isset() и empty(), которые могут вести себя не так, как вы ожидаете.

📌 isset()
Функция isset($var) проверяет, была ли переменная установлена и не равна ли она null.
❗ Пример подвоха:

$var = null;
var_dump(isset($var)); // false

Если переменной вообще нет в коде — тоже будет false.

📌 empty()
Функция empty($var) проверяет, считается ли переменная "пустой".
❗ Пустыми считаются:
- "" (пустая строка)
- 0 (число)
- "0" (строка с нулём)
- null
- false
- [] (пустой массив)

Пример:

$var = "0";
var_dump(empty($var)); // true, хотя строка не null

⚠️ Ошибка: проверка if (!isset($var) || empty($var)) может привести к неожиданному результату.

🔥 Лучший подход?
Используйте строгие проверки:

if ($var === null) { /* Переменная null */ }
if ($var === '') { /* Пустая строка */ }
if ($var === 0) { /* Число 0 */ }

Если проверяете массивы, то:

if (count($var) === 0) { /* Массив пуст */ }


Вывод: не злоупотребляйте isset() и empty(), а проверяйте переменные строго!
  • ❤ 6
  • 👍 6
  • 👎 4
  • 🔥 1
  • 🥰 1
More from @phpshka
  1. Sep 15, 2026🐘 Что нового в PHP 8.6 Релиз запланирован на 19 ноября 2026 года, сейчас версия проходит…
  2. Aug 26, 2026💡Совет по Laravel Знаешь ли ты, что можно выбрасывать исключения условно всего в одну стр…
  3. Aug 26, 2026Приглашаем на курс для прокачки навыков архитектора и проектировщика, которые важны для пр…
  4. Aug 25, 2026Сегодня хочу рассказать вам про одну ошибку, которую я часто встречаю у начинающих PHP-раз…
  5. Aug 22, 2026🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажет…
  6. Aug 17, 2026Сегодня я покажу вам, как удобно логировать в Laravel, не засоряя код и не превращая проек…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →