in_array总是返回false

时间:2013-08-05 09:05:17

标签: php arrays

我有这个功能:

function remove_addresse($input) {
    if (!is_array ($input)) {
        $input = array ($input);
    }

    foreach ($this -> message_meta['to_address'] as $key => $address) {
        echo $address;
        print_r($input);
        if (in_array ($address, $input)) {
            unset ($this -> message_meta['to_address'][$key]);
       }
    }
}

由于某种原因,in_array总是返回false。

典型的$地址:mult3@client.com

典型的$ input:Array ( [0] => mult1.client.com [1] => mult3.client.com )

为什么会这样?

3 个答案:

答案 0 :(得分:0)

mult3@client.com不等于mult3.client.com,因此您应该false

答案 1 :(得分:0)

除非。是典型输入中的拼写错误,然后针不在大海捞针中。

mult3@client.com!= mult3.client.com

答案 2 :(得分:0)

正如其他人指出的那样,点与@ -sign不匹配。 in_array()使用直接匹配,没有正则表达式(因此没有占位符)。