在 php 中,0 是否被视为空?
代码将解释更多:
$var = 0;
if (!empty($var)){
echo "Its not empty";
} else {
echo "Its empty";
}
结果返回“其空”。我以为 empty() 会检查我是否已经设置了变量并且里面有值。为什么它返回“它的空”??
代码将解释更多:
$var = 0;
if (!empty($var)){
echo "Its not empty";
} else {
echo "Its empty";
}
结果返回“其空”。我以为 empty() 会检查我是否已经设置了变量并且里面有值。为什么它返回“它的空”??
以下内容被视为空:
- “”(空字符串)
- 0(0 为整数)
- 0.0(0 作为浮点数)
- “0”(0 作为字符串)
- 零
- 假
- array() (一个空数组)
- var $var;(已声明的变量,但在类中没有值)
请注意,这与布尔值的强制值列表完全相同。 只是.请尝试设置
。false
empty
!isset($var) || !$var
我想知道为什么没有人建议非常方便的类型比较表。它回答了有关常见函数的每个问题并比较运算符。
片段:
Expression | empty($x)
----------------+--------
$x = ""; | true
$x = null | true
var $x; | true
$x is undefined | true
$x = array(); | true
$x = false; | true
$x = true; | false
$x = 1; | false
$x = 42; | false
$x = 0; | true
$x = -1; | false
$x = "1"; | false
$x = "0"; | true
$x = "-1"; | false
$x = "php"; | false
$x = "true"; | false
$x = "false"; | false
与其他备忘单一样,我总是在桌子上保留这张桌子的硬拷贝,以防我不确定