2012-04-19 97 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