【发布时间】:2018-12-06 06:37:37
【问题描述】:
我面临的问题是我有一个读取 CSV 文件的 SplFileObject,然后我将它包装到一个 LimitIterator。
CSV 文件有 2 行、标题和 1 行,我将 LimitIterator 偏移量设置为 1,但无法覆盖它,似乎索引存在一些内部问题。
代码如下:
$csvFile = new \SplFileObject($fileName);
$csvFile->setFlags(\SplFileObject::READ_CSV);
$iterator = new \LimitIterator($csvFile, 1);
/** @var \LimitIterator $it */
foreach ($iterator as $it) {
list($.., $.., $..) = $it;
$result[] = [
...
];
}
return $result;
如果 CSV 有 3 行(标题和 2 行),代码运行良好,但只有标题和 1 行,它不起作用。
有什么想法吗?
谢谢。
【问题讨论】:
-
我用简单的 csv 尝试了你的代码 - 它有效。检查您的数据,是否已损坏?
-
我可以看看你的简单 CSV 吗?感谢您的帮助