我正在使用 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() 调用解析出来吗?
最佳答案
只需省略长度参数。它在 PHP5 中是可选的。
while ($data = fgetcsv($fp)) {
// do stuff with the row
}
关于php - 确保 fgetcsv() 读取整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10746013/