Php 无论查询结果如何,in_数组都会不断返回false

Php 无论查询结果如何,in_数组都会不断返回false,php,Php,好的,我有一个有3个ip地址的数据库。当我运行以下代码时,即使表为空,仍然会运行相同的代码: $whitelistip = explode(",", $usercheck->ipwhitelist); 获取行模型: $whitelistip = explode(",", $usercheck->ipwhitelist); 以及用于检查用户ip地址是否在将使用逗号存储的行中的代码,如:1234323354。但是,当数据库具有相同的ip或行为空时,如果代码始终成功运行且无法通过,则会

好的,我有一个有3个ip地址的数据库。当我运行以下代码时,即使表为空,仍然会运行相同的代码:

$whitelistip = explode(",", $usercheck->ipwhitelist);
获取行模型:

$whitelistip = explode(",", $usercheck->ipwhitelist);
以及用于检查用户ip地址是否在将使用逗号存储的行中的代码,如:1234323354。但是,当数据库具有相同的ip或行为空时,如果代码始终成功运行且无法通过,则会出现以下情况:

$whitelistip = explode(",", $usercheck->ipwhitelist);
        if(isset($whitelistip) && !in_array($_SERVER["REMOTE_ADDR"],$whitelistip)){

            $date =  date("F Y h:i:s");
            $addlogin = $this->db->prepare("INSERT INTO logins(email,date,ip,status) VALUES(?,?,?,?)");
            $addlogin->execute(array($email,$date,$_SERVER["REMOTE_ADDR"],'Unsuccessful login'));
           echo '
              <div class="row row-centered">
              <div class="col-md-3"></div>
              <div class="col-md-5">
              <div class="alert alert-danger">
              <strong>Oh snap!</strong> Your IP address is not on the whitelist for this account
              </div>
              </div>
              </div>';

返回var_dumpin_array$_SERVER['REMOTE_ADDR'],$whitelistip;和var_dump$whitelistip;如果空$whitelistip&&is_数组$whitelistip&&isset$\u服务器[远程地址]/*奇怪的nginx设置?*/&!在_array$_SERVER[REMOTE_ADDR]中,$whitelistip,true!在\u数组中,这不应该在\u数组中吗?或者这个ifcount$whitelistip>0&&是\u数组$whitelistip&!在_数组$_SERVER[REMOTE_ADDR]中,$whitelistip{..}我保证第一个返回false。了解$\u SERVER['REMOTE\u ADDR']是什么也很有用。var_dump是你的朋友。