阅读官方手册,如果我想跳过文本文件中的空行,我只需要用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");
清理数组的方法有很多但我喜欢这个:
$fileArray = array_values(array_filter($fileArray, "trim"));