如何在PHP中区分一个值为零或NULL?

Imr*_*mer 1 php null if-statement zero

我有一个变量,例如 $moon

在某些情况下,其值为

$moon=0;
Run Code Online (Sandbox Code Playgroud)

在其他情况下,其值为

$moon=NULL;
Run Code Online (Sandbox Code Playgroud)

现在在if子句中我如何区分这些值?

我的代码是

if($moon==0 && !empty($moon)){
    echo "its zero";        
}else{
    echo "its null";
}
Run Code Online (Sandbox Code Playgroud)

它总是显示“其零”

我也试过

if($moon==0 && $moon!=NULL){
    echo "its zero";        
}else{
    echo "its null";
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*scu 5

检查是否为空:

if (is_null($moon))
Run Code Online (Sandbox Code Playgroud)

检查整数0使用:

if ($moon === 0)
Run Code Online (Sandbox Code Playgroud)

检查整数0或字符串“ 0”

if ($moon == '0')
Run Code Online (Sandbox Code Playgroud)

我必须补充一点,当使用“ ==”时,php将考虑任何等于数字0的字符串:

$moon = "asd";

if ($moon == 0) // will be true
Run Code Online (Sandbox Code Playgroud)