Return Values ¶
Returns FALSE if var exists and has a non-empty, non-zero value. Otherwise returns TRUE.
The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
不同语言没法比, 比如:
如果变量foo($foo)不存在, PHP的empty($foo)不会报错, 返回FALSE, 而JS中!foo则会报ReferenceError`
JS中有undefined类型而PHP中没有
JS中有NaNPHP中没有
JS中没有float和int的概念, 都是number, 统一用IEEE-754表示, 所以会有NaN, -0, Infinity等几个特殊值.
如果可以对比的话:
相同的是空字符串"", NULL/null, FALSE/false, 0(0.0)/0都会假
不同的是空数组[]在PHP中为假, JS中为真