【发布时间】:2016-03-20 10:21:02
【问题描述】:
在 php 7.0.3 环境中,我有一个仅包含一个换行符(“\n”)的文件,我执行以下操作:
var_dump(file("test.txt", FILE_IGNORE_NEW_LINES));
输出是:
array(1) {
[0]=>
string(0) ""
}
这是错误的,因为文件实际上由两个空行组成。
如果最后一行为空,文件函数是否期望它忽略最后一行? 任何可靠的解决方法,其行为类似于 file 函数,但如果为空则不会忽略最后一行?
【问题讨论】:
-
文件由一个空行和一个换行符组成。所以一切都很好。
-
是的,这是预期的行为。
-
@u_mulder 所以如果一个文件是空的,它会返回一个空行,如果有一个换行符......还有一个空行吗?我不明白这是怎么回事,应该返回两个空行。
-
@user2464424 如果文件为空,则返回 0 个空行。
-
@fusion3k 好的,所以它为空文件返回一个空数组。但是,一个换行符记事本++仍然有效地告诉我有两行。我仍然无法理解 php 如何未能如我所愿地返回两个。