当我使用in_array()时,PHP总是返回false,并且它是否在数组中并不重要。例如:PHP in_array()总是返回false
$list = 'test
list
example';
$list_arr = array();
$list_arr = explode("\n",$list);
if (in_array('test',$list_arr)) {
echo 'Found';
}
else {
echo 'Not Found';
}
返回“未找到”即使“测试”是阵列
$list = 'test
list
example';
$list_arr = array();
$list_arr = explode("\n",$list);
if (in_array('qwerty',$list_arr)) {
echo 'Found';
}
else {
echo 'Not Found';
}
返回“未找到”的值,因为它应该
为什么返回当它应该是真的时候是错误的?请给出任何建议。我实际使用的列表有超过10K的值,因此我在这里缩短了它。
你在使用什么操作系统?在窗口中,行结尾实际上是两个字符:\ r \ n,因此将其分割为\ n会给出'text \ r','list \ r'和'example'。 – 2012-07-16 20:26:36
你确定你有'\ n'而不是'\ r \ n'吗? – 2012-07-16 20:26:40
你可以'var_dump($ list_arr);'并发布输出? – MrGlass 2012-07-16 20:32:40