我正在解析通过php发送给我的CSV数据源。我将每一行转换为一系列值。
这是我的代码:
$fp = fopen('data.txt','r');
while (!feof($fp))
{
$line = mysql_real_escape_string(fgets($fp));
$value_array = explode(',', $line);
}
但如果其中一行看起来像这样:
“some company,inc。”,XC34ET,500
我得到4个值:
“某公司
INC。“
XC34ET
500
当我真的想要这3个值时:
某公司,公司
XC34ET
500
如何更新我的脚本以解决此问题?
答案 0 :(得分:4)
有一个用于解析csv文件的内置函数:fgetcsv()。只需用它替换fgets()调用即可。 使用'“'作为$ enclosure参数的值可以解决您的问题。
答案 1 :(得分:1)
您可以使用str_getcsv()
读取该行并解析它,返回一个数组