字符串不在php数组中
我正在尝试为数组IP编写if语句。如果用户IP不在阵列中,则继续。但是我认为我的数组设置不正确,我应该使用in_数组吗字符串不在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_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";
}
?>