PHP 检查函数是否返回布尔值


PHP check if the function returns boolean

所以我得到了这个函数:

function hosting(){
    $localhostIP = array(
        '127.0.0.1',
        '::1'
    );
    if(!in_array($_SERVER['REMOTE_ADDR'], $localhostIP)){
        $localhost = false;
        return true;
    }else{
        $localhost = true;
        return $localhost;
    }
}

稍后在同一文件中,我想调用该函数并检查$localhost是真还是假,这就是我到目前为止得到的:

hosting();
if ($localhost == false) {
    echo"N";
}else{
   echo"Y";
}

它不起作用,这可能是有史以来最糟糕的尝试,有人可以告诉我如何以正确的方式检查$localhost吗?

谢谢布莱恩

您需要将

函数调用的返回值分配给变量:

$localhost = hosting();
if ($localhost == false) {
    echo"N";
}else{
   echo"Y";
}

更好的方法可能是;

function isLocalhost($ipAddress) {
    $localhostIP = array(
        '127.0.0.1',
        '::1'
    );
    return in_array($ipAddress, $localhostIP);
}
//To check whether the request coming from localhost or not
if(isLocalhost($_SERVER['REMOTE_ADDR'])) {
   echo "Localhost";
} else {
   echo "Not Localhost";
}