Как убрать пропустить пустую строку при чтении файла - PullRequest
2 голосов
/ 24 апреля 2011

чтение официального руководства , если я хочу пропустить пустую строку в txt, мне просто нужно вызвать файл функции () с FILE_SKIP_EMPTY_LINES;на самом деле я написал:

$fileArray=file($uploadDirectory.$tracklistFile_name, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

но он также читал пустую строку.Таким образом, в таком тексте:

// START OF THE DOCUMENT
aaa
bbb

ccc
ddd

// END OF THE DOCUMENT

на самом деле sizeof($fileArray) равен 6: он добавляет пустые строки между bbb и ccc и последнюю.Почему?

Ответы [ 2 ]

6 голосов
/ 24 апреля 2011

Существует множество способов очистки массива, но мне нравится этот:

$fileArray = array_values(array_filter($fileArray, "trim"));
6 голосов
/ 24 апреля 2011

FILE_SKIP_EMPTY_LINES действительно пропускает только пустые строки. Если у вас есть пробелы, табуляции или другие пробелы, file() не будет считать его пустой строкой.

Он не выполняет trim перед проверкой, он смотрит, если $line=="\n", и только тогда считает его пустой строкой.


В качестве альтернативы вы можете использовать:

$file = array_filter(array_map("trim", file("text.txt")), "strlen");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...