Текстовый файл в массив? - PullRequest
2 голосов
/ 27 августа 2009

В как я могу прочитать текстовый файл и получить каждую строку в массив?

Я нашел этот код, который делает это несколько, но ищет знак =, и мне нужно искать новую строку:

<?PHP
$file_handle = fopen("dictionary.txt", "rb");
while (!feof($file_handle) ) {
  $line_of_text = fgets($file_handle);
  $parts = explode('=', $line_of_text);
  print $parts[0] . $parts[1]. "<BR>";
}
fclose($file_handle);
?>

Ответы [ 4 ]

8 голосов
/ 27 августа 2009

Ну, вы могли бы просто заменить '=' на "\n", если единственное отличие состоит в том, что вы ищете новую строку.

Однако, более прямой способ - использовать функцию file():

$lines = file("dictionary.txt");

Вот и все!

5 голосов
/ 27 августа 2009

Используйте php's file function:

file - Читает весь файл в массив

Пример:

$lines = file('dictionary.txt');
echo $lines[0]; //echo the first line
0 голосов
/ 27 августа 2009

Вместо '=' используйте '\ n'.

Пример (также удаляет символы '\ r' для файлов, которые используют в качестве разделителя строк '\ r \ n'):

<?PHP
$file_handle = fopen("dictionary.txt", "rb");
while (!feof($file_handle) ) {
$line_of_text = fgets($file_handle);
$line_of_text = str_replace('\r', '', $line_of_text);
$parts = explode('\n', $line_of_text);
print $parts[0] . $parts[1]. "<BR>";
}
fclose($file_handle);
?>

Примечание: этот пример кода не будет работать с файлами, которые используют '\ r' для указания новых строк.

0 голосов
/ 27 августа 2009

Итак, используйте символ для новой строки вместо '='

'\n'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...