Php. Сравнение методов isset(), is_null() и empty()

Главная  >>  Backend  >>  Php. Сравнение методов isset(), is_null() и empty()

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

Поэтому решил сделать небольшую заметку и, конечно же, запостить ее в Блоге.

Итак, ниже приведена сравнительная таблица соответствия функции с определенными константами.
Список констант:

$undefined — простая, не объявленная в коде переменная
null — просто объявлена переменная. Никакого значения ей присвоено не было
0 — собственно, ноль
false — простое булево значение ЛОЖЬ
123 — простое числовое значение (типа int или float)
«» — строка (пустая)
В колонке «Функция» == и === означают то, что некое значение сравнивается с false. Например, для колонки 123 происходит выполнение операции: false == 123.

Функция $undefined NULL 0 false 353 «»
isset() false false true true true true
empty() true true true true false true
is_null() true true false false false false
== true true true true false true
=== false false false false true false

Результаты довольно интерессные. Как по мне php тут даже у JS не выигрывает. Там, как по мне, на порядок прозрачнее реализовано.