我想拆分CSV字符串。字符串看起来像这样:
“val1”,“val2”,“val3,其他一些东西”,“val4”
如您所见,值中可能有逗号(请参阅val3),因此在逗号上使用explode将无效。
我也尝试过:
preg_split('/","/', $myLine)
这不起作用,我怎么办?
感谢您的帮助:)
答案 0 :(得分:2)
如果您的数据位于文件中,则可以使用内置的fgetcsv
或str_getcsv如果您的数据是字符串
答案 1 :(得分:2)
对于PHP函数中的CSV文件:fgetcsv
在第3个参数中,您可以设置delimetr,默认情况下为“,”(逗号)
函数读取每一行并返回包含当前行元素的数组
示例强>:
$f = fopen('file.csv', 'r+');
while (($data = fgetcsv($f, 1000, ",")) !== FALSE) {
/* $data is array with elements for current line */
}
fclose($f);
答案 2 :(得分:2)
$inputfiledelimiter="~";
if (($handle = fopen($target_path, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 0, $inputfiledelimiter)) !== FALSE)
{
}
}