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()使用直接匹配,没有正则表达式(因此也没有占位符)。为什么希望它们匹配?(“@”与“.”不是同一个字符。)。让我们知道,问题是否已经解决,或者只是问题中的一个输入错误?我的测试数据中有输入错误