テキスト ファイルの行を配列要素に読み取る
質問:
このコード スニペットでは、テキスト ファイルを 1 行ずつ配列に読み込みます:
<code class="php">$file = fopen("members.txt", "r"); while (!feof($file)) { $line_of_text = fgets($file); $members = explode('\n', $line_of_text); } fclose($file);</code>
$members 配列には、テキスト ファイルの各行の要素ではなく、最後の行だけが含まれるのはなぜですか?
回答:
提供されたコードはテキスト ファイルから行を正しく読み取りますが、行の配列の作成時に問題が発生します。ループ内でexplode('n', $line_of_text)を使用すると、反復ごとに$members配列が上書きされ、最終的には最後の行のみが保存されます。
この問題を解決するには、代わりにfile関数を使用してください:
<code class="php">$lines = file($filename, FILE_IGNORE_NEW_LINES);</code>
この関数は、各要素がテキスト ファイルの行を表す配列を直接作成します。 FILE_IGNORE_NEW_LINES を使用すると、各行の改行文字がスキップされ、配列には行の内容のみが含まれるようになります。
以上がコードがテキスト ファイルのすべての行ではなく、最後の行のみを配列に保存するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。