Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串不在php数组中_Php_Arrays - Fatal编程技术网

字符串不在php数组中

字符串不在php数组中,php,arrays,Php,Arrays,我正在尝试为数组IP编写if语句。如果用户IP不在阵列中,则继续。但是我认为我的数组设置不正确,我应该使用in_数组吗 $ip_list = array( "127.0.0.2", "127.0.0.1" ); if ($_SERVER["REMOTE_ADDR"] != $ip_list) { // success code }; 您应该使用IP作为密钥(出于性能原因,这取决于您将拥有多少IP),然后执行阵列密钥存在: $ip_list = array( "

我正在尝试为数组IP编写if语句。如果用户IP不在阵列中,则继续。但是我认为我的数组设置不正确,我应该使用in_数组吗

$ip_list = array(
    "127.0.0.2",
    "127.0.0.1"
);

if ($_SERVER["REMOTE_ADDR"] != $ip_list) {
    // success code
};

您应该使用IP作为密钥(出于性能原因,这取决于您将拥有多少IP),然后执行阵列密钥存在:

$ip_list = array(
    "127.0.0.2" => '',
    "127.0.0.1" => ''
);

if (!array_key_exists($_SERVER["REMOTE_ADDR"],$ip_list)) {
    // success code
};
使用检查数组中是否存在值

if (!in_array($_SERVER["REMOTE_ADDR"], $ip_list)) {
    // success code
}
在_array()函数中使用,如

if(!in_array($_SERVER["REMOTE_ADDR"],$ip_list)
{...
}

是的,在数组中使用
将是:

if (!in_array($_SERVER["REMOTE_ADDR"], $ip_list)){
//success code
};
解决办法应该是:

$ip_list = array(
"127.0.0.2",
"127.0.0.1");
if (!in_array($_SERVER["REMOTE_ADDR"], $ip_list)) {
// success code
};

方法1:在数组()中使用
查找数组中的值

<?php
$ip_list = array("127.0.0.2","127.0.0.1");
if(in_array($_SERVER["REMOTE_ADDR"],$ip_list))
{
    echo "REMOTE ADDR is Available";
}
?>

我应该使用in_数组进行此操作吗?您试过使用它吗?是的,您应该在_array()中使用。如果
$\u SERVER[“REMOTE\u ADDR”]
是一个字符串,则应该可以工作;-)你说得对。错过了我小屏幕上的
=>'
。对不起,这也是正确的,但是创建键值数组有点冗长@是的,但我认为使用键而不是值是一种很好的做法。它避免了下一个问题“为什么我的1000值数组中的数组速度慢?”。。。如果你总是使用钥匙,你永远不会有问题。。。但这是我的意见。。。
<?php
$ip_list = array("127.0.0.2","127.0.0.1");
$key = array_search($_SERVER["REMOTE_ADDR"],$ip_list);
if(is_int($key))
{
    echo "REMOTE ADDR is Available";
}
?>