当使用PHP SplFileObject和READ_CSV
标志遍历一个csv文件时,我得到了一个带有null
值的额外行。有没有一种方法可以自动删除此行?
$file = new SplFileObject(__DIR__.'/technologies.csv', 'r');
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
var_dump($row);
}
这将产生一个带有null
值的行。
...
array(1) {
[0] =>
NULL
}
您还想设置SplFileObject::SKIP_EMPTY
标志,并且要使该SplFileObject::READ_AHEAD
标志也起作用。
该SplFileObject::SKIP_EMPTY
标志执行其在锡罐上的指示:跳过空行。文件中的尾随换行符算作一个空行。
(除了:SplFileObject::READ_AHEAD
需要它,以便SplFileObject::SKIP_EMPTY
可以完成其工作。需要在内部读取下一行,以便PHP可以确定它是否为空。)
因此,您的代码将看起来像(包裹在多行上,以便您可以阅读):
$file->setFlags(SplFileObject::READ_CSV |
SplFileObject::SKIP_EMPTY |
SplFileObject::READ_AHEAD);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句