"AMZN","Amazon.com, Inc.",211.22,"11/9/2011","4:00pm","-6.77 - -3.11%",4673052
Amazon.com,Inc.被视为2值而不是1。如何使用逗号分隔CSV行?
我想这$data = explode(',', $s);
如何修改是为了避免在价值问题上的逗号?
"AMZN","Amazon.com, Inc.",211.22,"11/9/2011","4:00pm","-6.77 - -3.11%",4673052
Amazon.com,Inc.被视为2值而不是1。如何使用逗号分隔CSV行?
我想这$data = explode(',', $s);
如何修改是为了避免在价值问题上的逗号?
你或许应该看看str_getcsv()(或fgetcsv(),如果你从一个文件加载CSV)
这将读取CSV内容到一个数组,而无需爆炸等
编辑 - 如果您使用的是PHP < 5.3 str_getcsv()
将无法正常工作,但有一个有趣的方法here可以重现较小版本的功能。另一种方法here在创建临时文件后使用fgetcsv()
。
fgetcsv工作得很好! – ThinkCode
使用专用的CSV库。一直以来都有人解释说,像CSV这样的解析文件格式手动要求麻烦,因为您不知道CSV的所有变体以及所有规则的正确做法。
对不起,在PHP上有点生疏,因为我工作了一段时间。和平! – ThinkCode
您可能正在寻找http://www.php.net/manual/en/function.str-getcsv.php(但是,这是PHP> = 5.3只) –
@Pekka:在输出时,我分裂返回值并在一个单独的行中打印每个值。 – ThinkCode
@Galled:并非所有值都包含在引号中。例如:211.22不包含在引号中。 – ThinkCode