2012-04-19 10 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で利用可能ですが、私はそれで立ち往生しています、助けてください、ありがとう。

+0

ファイルから何かを読み取るかどうかを判断するエラーチェックはありません。 –

答えて

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

+0

'FILE_IGNORE_NEW_LINES'は最後に改行文字' \ n'を取り除きます(これは新しい単一行になるようになります)、 –

+0

@Tim Cooperオハイオ州の詳細な解答に感謝します。 :) – seoppc

関連する問題