将txt文件的每一行读取到新的数组元素

我正在尝试将文本文件的每一行读入一个数组,并将每行都放入一个新的元素中。
我的代码到目前为止。

<?php $file = fopen("members.txt", "r"); $i = 0; while (!feof($file)) { $line_of_text = fgets($file); $members = explode('\n', $line_of_text); fclose($file); ?> 

如果你不需要任何特殊的处理, 这应该做你想要的

 $lines = file($filename, FILE_IGNORE_NEW_LINES); 

我发现的最快的方法是:

 // Open the file $fp = @fopen($filename, 'r'); // Add each line to an array if ($fp) { $array = explode("\n", fread($fp, filesize($filename))); } 

其中$ filename将是您的文件的path和名称,例如。 ../filename.txt。

根据你如何设置你的文本文件,你可能不得不玩弄\ n位。

只需使用这个:

 $array = explode("\n", file_get_contents('file.txt')); 
 <?php $file = fopen("members.txt", "r"); $members = array(); while (!feof($file)) { $members[] = fgets($file); } fclose($file); var_dump($members); ?> 
 $yourArray = file("pathToFile.txt", FILE_IGNORE_NEW_LINES); 

FILE_IGNORE_NEW_LINES避免在每个数组元素的末尾添加换行符
您也可以使用FILE_SKIP_EMPTY_LINES来跳过空行

参考这里

这很简单:

 $lines = explode("\n", file_get_contents('foo.txt')); 

file_get_contents() – 以stringforms获取整个文件。

explode("\n") – 将string与分隔符"\n"分隔 – 换行符的ASCII-LF转义是什么。

但要注意 – 检查文件是否有UNIX结尾。

如果"\n"不能正常工作,您可以使用另一个新行的编码,您可以尝试"\r\n""\r""\025"

 $lines = array(); while (($line = fgets($file)) !== false) array_push($lines, $line); 

显然,你需要首先创build一个文件句柄并将其存储在$file

 $file = __DIR__."/file1.txt"; $f = fopen($file, "r"); $array1 = array(); while ( $line = fgets($f, 1000) ) { $nl = mb_strtolower($line,'UTF-8'); $array1[] = $nl; } print_r($array); 

你是在正确的轨道上,但是你发布的代码存在一些问题。 首先,while循环没有右括号。 其次,$ line_of_text会被每个循环迭代覆盖,通过在循环中将=改成=。 第三,你正在爆炸字面字符'\ n'而不是实际的换行符。 在PHP中,单引号将表示文字字符,但双引号实际上将解释转义字符和variables。

  <?php $file = fopen("members.txt", "r"); $i = 0; while (!feof($file)) { $line_of_text .= fgets($file); } $members = explode("\n", $line_of_text); fclose($file); print_r($members); ?> 
  $file = file("links.txt"); print_r($file); 

这将接受txt文件作为数组。 所以,写任何东西到links.txt文件(对一个元素使用一行)之后,运行这个页面:)你的数组将是$ file