阅读官方manual , 如果我想跳过 txt 中的空行我只需要用 FILE_SKIP_EMPTY_LINES 调用函数 file();事实上我写道:
$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
之间添加空行,最后一个。为什么?
最佳答案
FILE_SKIP_EMPTY_LINES
实际上只跳过空行。如果其中有空格或制表符或其他空格,file()
不会将其视为空行。
它在检查之前不会执行 trim
,它会查找 $line=="\n"
并且然后才将其视为空行。
作为替代方案,您可以使用:
$file = array_filter(array_map("trim", file("text.txt")), "strlen");
关于php - 读取文件时如何删除跳过空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5767310/