Давай посмотрим:
empty
документация:
Следующие вещи считаются empty
:
""
(пустая строка)
0
(0
как целое число)
0.0
(0
как поплавок)
"0"
(0
в виде строки)
NULL
FALSE
array()
(пустой массив)
var $var;
(объявленная переменная, но без значения в классе)
логическая документация :
При преобразовании в логическое значение учитываются следующие значения FALSE
:
- логическое значение
FALSE
само
- целое число
0
(ноль)
- Поплавок
0.0
(ноль)
- пустая строка и строка
"0"
- массив с нулевыми элементами
- объект с нулевыми переменными-членами (только PHP 4)
- специальный тип
NULL
(включая неустановленные переменные)
SimpleXML
объекты, созданные из пустых тегов
Кажется, единственное различие (относительно полученного значения) состоит в том, как обрабатывается экземпляр SimpleXML
. Все остальное, похоже, дает тот же результат (если вы, конечно, инвертируете логическое приведение).