当转换为 boolean 时,以下值被认为是 FALSE:
- FALSE
- NULL(包括尚未赋值的变量)
- “” (空字符串)
- 0 (作为整数的0)
- 0.0 (作为浮点数的0)
- “0” (作为字符串的0)
- array() (一个空数组)
- 不包括任何成员变量的对象(仅 PHP 4.0 适用)
- 从空标记生成的 SimpleXML 对象
所有其它值都被认为是 TRUE(包括任何资源)。
使用empty判断时,以下的东西被认为是空的:
- FALSE
- NULL
- “” (空字符串)
- 0 (作为整数的0)
- 0.0 (作为浮点数的0)
- “0” (作为字符串的0)
- array() (一个空数组)
- $var; (一个声明了,但是没有值的变量)
- 未声明的变量
使用isset判断时,一下被认为是未设置的:
- NULL
- 未声明的变量
注意
- empty和isset是语言结构不是函数。其参数只能是变量或者表达式,不能是字面量