Php in_数组始终返回false

Php in_数组始终返回false,php,arrays,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

我有这个功能:

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]);
       }
    }
}
由于某些原因,数组中的总是返回false

典型$address:
mult3@client.com

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


为什么会发生这种情况?

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

,除非。是典型输入中的一个输入错误,那么指针就不是在干草堆里了


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

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

为什么希望它们匹配?(“@”与“.”不是同一个字符。)。让我们知道,问题是否已经解决,或者只是问题中的一个输入错误?我的测试数据中有输入错误