我正在使用 fgetcsv
在我的应用程序中读取 csv 文件。问题是我不知道我的用户是否会使用 、
、|
或 ;
作为分隔符。如果我什么都不告诉 fgetcsv
它只会接受 ,
但如果我告诉它使用特定的定界符它只会接受。
我现在做的是:
while (($row = fgetcsv($fileHandle, 4096)) !== false) {
我想要的是这样的:
while (($row = fgetcsv($fileHandle, 4096, array(',', ';', '|'))) !== false) {
这有可能以某种简单的方式实现吗?将分隔符限制为一个特定字符似乎很奇怪,因为 CSV 未标准化。
最佳答案
如果您不知道 csv 文件的分隔符,则无法可靠地确定它。以这个简单的例子为例:
foo;bar,hello;world
什么是分隔符? ,
还是 ;
?如果您要传递一个数组 array(',',';')
您期望 fgetcsv()
返回什么数据?
如果您不知道分隔符,则需要询问用户。
关于php - 使用分隔符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30255532/