我正在使用 PHP 使用 fgetcsv() 从 CSV 文件导入数据,它为每一行生成一个数组。最初,我将字符限制设置为 1024,如下所示:
while ($data = fgetcsv($fp, 1024)) {
// do stuff with the row
}
但是,具有 200 多列的 CSV 在许多行上超过了 1024 的限制。这导致读取的行在一行中间停止,然后对 fgetcsv() 的下一次调用将从上一次停止的地方开始,依此类推,直到达到 EOL。
我已经将此限制提高到 4096,这应该可以解决大多数情况,但我想检查以确保在获取每一行后读取整行。我该怎么做?
我正在考虑检查数组最后一个元素的末尾是否有行尾字符(\n、\r、\r\n),但是这些不会被 fgetcsv() 调用解析出来吗?