我有这个功能:
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 )
为什么会这样?
答案 0 :(得分:0)
mult3@client.com
不等于mult3.client.com
,因此您应该false
答案 1 :(得分:0)
除非。是典型输入中的拼写错误,然后针不在大海捞针中。
mult3@client.com!= mult3.client.com
答案 2 :(得分:0)
正如其他人指出的那样,点与@ -sign不匹配。 in_array()使用直接匹配,没有正则表达式(因此没有占位符)。