如何区分 php 中的值是零还是 NULL?
How to differentiate a value is zero or NULL in php?
我有一个变量,例如 $moon
在某些情况下它的值为
$moon=0;
在其他情况下它的值为
$moon=NULL;
现在在 if 子句中 我如何区分这些值?
我的密码是
if($moon==0 && !empty($moon)){
echo "its zero";
}else{
echo "its null";
}
总是显示"its zero"
我也试过了
if($moon==0 && $moon!=NULL){
echo "its zero";
}else{
echo "its null";
}
您可以使用以下解决方案(使用 is_null
和 ===
):
if (is_null($moon)) {
echo "its null";
} elseif ($moon === 0) {
echo "its zero";
} elseif ($moon == 0) {
echo "its zero (string)";
} else {
echo "another value";
}
您可以使用函数is_null
。
解释使用is_null
:
$val1 = NULL;
$val2 = 0;
var_dump(is_null($val1)); //true
var_dump(is_null($val2)); //false
解释使用===
:
$val1 = NULL;
$val2 = 0;
var_dump($val1 === 0); //false
var_dump($val2 === 0); //true
您可能想使用三个相等来查看给定值是否相同,因此
$moon = 0;
if($moon === 0) {
echo 'its zero';
} else {
echo 'is null';
}
您可以查看更多关于比较运算符的信息here
检查 null 使用:
if (is_null($moon))
检查整数 0 使用:
if ($moon === 0)
检查整数 0 或字符串“0”
if ($moon == '0')
我必须补充一点,php 在使用“==”时会考虑任何等于数字 0 的字符串:
$moon = "asd";
if ($moon == 0) // will be true
如前所述,您可以使用 is_null()
函数。
您可以在 if()
语句中将此函数与 !
运算符结合使用,如下所示:
if( $moon==0 && !is_null($moon) ){
echo "its zero";
}else{
echo "its null";
}
使用 PHP 的语言结构 isset()
将报告 true
让您知道该值是否不是 null
。您也可以使用 is_null()
,但据报道 isset()
速度更快。
if(isset($var)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}
或
if(!is_null($var)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}
或
if($var !== null)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}
我有一个变量,例如 $moon
在某些情况下它的值为
$moon=0;
在其他情况下它的值为
$moon=NULL;
现在在 if 子句中 我如何区分这些值?
我的密码是
if($moon==0 && !empty($moon)){
echo "its zero";
}else{
echo "its null";
}
总是显示"its zero"
我也试过了
if($moon==0 && $moon!=NULL){
echo "its zero";
}else{
echo "its null";
}
您可以使用以下解决方案(使用 is_null
和 ===
):
if (is_null($moon)) {
echo "its null";
} elseif ($moon === 0) {
echo "its zero";
} elseif ($moon == 0) {
echo "its zero (string)";
} else {
echo "another value";
}
您可以使用函数is_null
。
解释使用is_null
:
$val1 = NULL;
$val2 = 0;
var_dump(is_null($val1)); //true
var_dump(is_null($val2)); //false
解释使用===
:
$val1 = NULL;
$val2 = 0;
var_dump($val1 === 0); //false
var_dump($val2 === 0); //true
您可能想使用三个相等来查看给定值是否相同,因此
$moon = 0;
if($moon === 0) {
echo 'its zero';
} else {
echo 'is null';
}
您可以查看更多关于比较运算符的信息here
检查 null 使用:
if (is_null($moon))
检查整数 0 使用:
if ($moon === 0)
检查整数 0 或字符串“0”
if ($moon == '0')
我必须补充一点,php 在使用“==”时会考虑任何等于数字 0 的字符串:
$moon = "asd";
if ($moon == 0) // will be true
如前所述,您可以使用 is_null()
函数。
您可以在 if()
语句中将此函数与 !
运算符结合使用,如下所示:
if( $moon==0 && !is_null($moon) ){
echo "its zero";
}else{
echo "its null";
}
使用 PHP 的语言结构 isset()
将报告 true
让您知道该值是否不是 null
。您也可以使用 is_null()
,但据报道 isset()
速度更快。
if(isset($var)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}
或
if(!is_null($var)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}
或
if($var !== null)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}