Есть ли способ разбить каждую строку файла на элемент массива |PHP - PullRequest
0 голосов
/ 03 ноября 2019

Сразу: нет, это не «обычный вопрос», и да - я читал другие статьи StackOverflow по этой теме, и они мне не помогли.

Если вы создаете массив внутрифайл и посмотрите на вывод:

$names = ["test123", "test!?", "test"];
var_dump($names);

Вывод:

array(3) {
  [0]=>
  string(7) "test123"
  [1]=>
  string(6) "test!?"
  [2]=>
  string(4) "test"
}

... что совершенно правильно. 3 элемента каждый строка.

НО, если вы читаете строки файла с помощью разнесения и вводите их в массив:

$names = explode("\n", file_get_contents('list.txt'));
var_dump($names);

Вывод:

array(3) {
  [0]=>
" string(8) "test123
  [1]=>
" string(7) "test!?
  [2]=>
  string(4) "test"
}

... который отличается от первого, поскольку все они являются строками, но (исключая последний), имеющие по одному символу больше каждый +, а не в кавычках, как в приведенном выше массиве.

Итак, мой вопрос: Как я могу прочитать все строки файла в элементы массива с точным написанием первого примера, который я представил? Мне нужен точный формат как "обычный массив" для дальнейшей программы, но я не могу заставить его работать:)

1 Ответ

2 голосов
/ 03 ноября 2019

Я думаю, вы можете использовать эту строку кода

$lines = file($filename, FILE_IGNORE_NEW_LINES);
...