empty、isset、is_null的区别


empty — 检查一个变量是否为空

empty(var)

当var存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE.

以下的东西被认为是空的:
• "" (空字符串)
• 0 (作为整数的0)
• 0.0 (作为浮点数的0)
• "0" (作为字符串的0)
• NULL
• FALSE
• array() (一个空数组)
• $var; (一个声明了,但是没有值的变量)


isset — 检测变量是否设置

isset(var)

如果 var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE。


is_null — 检测变量是否为 NULL

is_null(var)
如果 var 是 null 则返回 TRUE,否则返回 FALSE。


defined — 检查某个名称的常量是否存在

defined('NAME')

如果你要检查一个变量是否存在,请使用 isset()。 defined() 函数仅对 constants 有效。如果你要检测一个函数是否存在,使用 function_exists()。