2012-04-19 93 views
1

我正在使用in_array在数组中搜索数值。我的代码如下:in_array函数未给出预期结果

$file = 'domains.txt'; //reading txt file 
$lines = file($file);//file in to an array 

if (in_array("yahoo.com", $lines)) { 
    echo "Got Domain"; 
} 

但是,它不工作,只显示空白页,但yahoo.com是domains.txt可用,因此它应该返回true,但我还是坚持了下来,请大家帮忙, 谢谢。

+0

您没有错误检查以确定您是否从文件中读取任何内容。 – 2012-04-19 19:56:54

回答

2

调用file()当添加FILE_IGNORE_NEW_LINES标志:

$lines = file($file, FILE_IGNORE_NEW_LINES); 

当读取与yahoo.com的线,它被存储为:

"yahoo.com\n" 

上述标志将告诉file()不将换行符(\n)附加到返回数组中的每个字符串。

+0

工作,你能告诉我为什么我们使用'FILE_IGNORE_NEW_LINES',我失踪了什么? – seoppc 2012-04-19 19:57:51

+0

'FILE_IGNORE_NEW_LINES'在结尾删除换行符'\ n'(这发生在每一个新的单行,*哦,不知道*):) – 2012-04-19 19:58:20

+0

@Tim Cooper哦谢谢你的详细答案。 :) – seoppc 2012-04-19 20:02:57