gpt4 book ai didi

php - LimitIterator offset 1 with 2 elements

转载 作者:搜寻专家 更新时间:2023-10-31 21:48:13 26 4
gpt4 key购买 nike

我面临的问题是我有一个读取 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 行,它不起作用。

有什么想法吗?

谢谢。

最佳答案

这与 PHP 错误有关 65601 ,这表明添加 READ_AHEAD 标志将解决此问题。经过测试并按您预期的方式工作。

    $csvFile->setFlags(\SplFileObject::READ_CSV | \SplFileObject::READ_AHEAD);

另见 SplFileObject + LimitIterator + offset

关于php - LimitIterator offset 1 with 2 elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com