代码将解释更多:
$var = 0; if (!empty($var)){ echo "Its not empty"; } else { echo "Its empty"; }
结果返回“它是空的”。我认为 empty() 会检查我是否已经设置了变量并在里面有值。为什么它返回“它是空的”?
http://php.net/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 $var; (a variable declared, but without a value in a class)
以下内容被认为是空的:
请注意,这与强制转换为 Boolean 的列表完全相同false。empty简直就是!isset($var) || !$var。试试isset吧。
false
empty
!isset($var) || !$var
isset