我对empty
和0
感到困惑。我想知道$number
是否为空。这意味着例如$number =
但是这不应该包含0
,因为如果$number = 0
它对我来说不是空的。
$number = 0;
if(empty($number)){
echo "$number is empty.";
} else {
echo "$number is 0";
}
我的结果是$number is empty
。
答案 0 :(得分:1)
您可以通过这种方式检查解决方法。
$number = 0;
if (empty($number) && $number!== '0') {
echo "$number is empty.";
} else {
echo "$number is 0";
}
这里我检查了它是否为空且非零值然后它是空的。希望它会对你有所帮助。
答案 1 :(得分:1)
"" (an empty string)
0 (0 as an integer)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)
请注意,这与强制转换为布尔值false的列表完全相同。
空是简单的!isset($ var)|| !$变种。请改为isset。
答案 2 :(得分:0)
首先,使用
echo "\$number is empty";
要么
echo '$number is empty'l
因为当您写下#&$ 34; $ number"时,您将获得$ number的值,而不是字符串' $ number'。
关于你的问题。 在您的示例中,$ number的整数值为0。 它等于布尔值false。
在此处写下描述部分: php.net empty
正确的例子:
$number = 0
if($number === 0)
echo '$number is 0';
elseif(empty($number))
echo '$number is empty';
else
echo '$number isn't empty and not equal to 0';