Необходимо чётко понимать разницу между isset и empty. Часто новички путают эти две функции, давайте разберёмся как именно работает каждая из них.
isset()
isset() — проверяет переменную на существование, а также, что её значение не null. Если переменная существует и её значение не null, то функция вернёт true, все остальные случаи — это false;
empty()
empty() — проверяет переменную на существование и на пустоту. Если в переменной есть какое-то не пустое значение или true, то функция вернёт false, всё остальные случаи — это true;
Таблица ниже поможет вам лучше понять как работает isset и empty
| Выражение | isset($a) | empty($a) |
|---|---|---|
| unset($a) | false | true |
| $a = null | false | true |
| $a = 0 | true | true |
| $a = «» | true | true |
| $a = array() | true | true |
| $a = false | true | true |
| $a = true | true | false |
| $a = 7 | true | false |
Толково