如何使用这个PHP数组?

如何使用这个PHP数组?,php,arrays,Php,Arrays,我以前对阵列或IP使用下面的函数,但现在我更改了IP阵列: $bannedIPs = array('127.0.0.0','72.189.218.85'); // Banned IPs array ipban($bannedIPs); function ipban($bannedIPs) { if (in_array($_SERVER['REMOTE_ADDR'], $bannedIPs)) { include ("site_banip.php");

我以前对阵列或IP使用下面的函数,但现在我更改了IP阵列:

$bannedIPs = array('127.0.0.0','72.189.218.85'); // Banned IPs array

ipban($bannedIPs);

function ipban($bannedIPs) {
    if (in_array($_SERVER['REMOTE_ADDR'], $bannedIPs)) { 
        include ("site_banip.php");
        session_destroy();
        exit;
    }   
}
为此:

$config_item['bannedIPs'] = array('127.0.0.0','72.189.218.85'); // Banned IPs array

ipban($config_item['bannedIPs']);

function ipban($bannedIPs) {
    if (in_array($_SERVER['REMOTE_ADDR'], $bannedIPs)) { 
        include ("site_banip.php");
        session_destroy();
        exit;
    }   
}
但现在我无法让它工作

Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\webserver\htdocs\includes\functions.inc.php on line 948

是否可以执行我试图执行的操作?

将第二个参数更改为$config_item['banndips',并将$config_item传递给函数。

使用类似的方法,如果将来需要添加更多IP,它将非常灵活

$whitelist = array(
    // ".*.32.255.255", // Sample
    // "63.76.53.255", // Sample
    // "46..*..*..*", // Sample
    // "46.32..*..*", // Sample
    // "46.32.255..*", // Sample
    // "46..**.255.255", // Sample
);

foreach($whitelist as $ip)
{
    if (ereg($ip, $_SERVER['REMOTE_ADDR']))
    {
        include ("site_banip.php");
        session_destroy();
        exit;
    }
}

你的评论拼错了是的,这就是我在上面使用的实际代码。这是对我答案的回答吗?您确定要更新正确的页面吗?它似乎没有为我的本地页面抛出错误。您的代码是否与此处所示完全相同?“bannedIPs”数组可能会被覆盖吗?你确定你在真实页面中传递了一个数组吗?啊,我刚刚改变了很多代码来使用不同的类,结果发现不包括带有该数组变量的特定页面,对不起,谢谢,请不要使用ereg*-函数(POSIX)。从PHP 5.3.0开始,不推荐使用此扩展-请改用preg_*-函数(PCRE)。