使用fputcsv避免来自csv的默认引号
fputcsv($fp, $array, ',', '"'); // OR fputcsv($fp, $array);
在test.csv中
testname,045645765789,"""04.07.2012 12:10:52"""
如何在这里避免以上引号?
像下面
testname,045645765789,04.07.2012 12:10:52
最佳答案
两个双引号用于转义双引号,因此看起来您的日期/时间已经被引用了。如果您只想获取正确引用的CSV,则可以尝试删除所有现有的双引号(这可能有点蛮力):
$array = array('testname',045645765789,'"04.07.2012 12:10:52"');
$array = str_replace('"', '', $array);
fputcsv($fp, $array);
// Output: testname,79323055,"04.07.2012 12:10:52"
fputcsv
想要在带有空格的字符串周围放置一些内容,因此,如果您根本不希望使用引号,则需要变通解决,或者使用自己的函数来执行所需的操作。 this question下有很多好的解决方案(编辑:这是一个不同的链接)。或者,在PHP manual的注释中还有许多其他解决方案。根据第一个链接,您可以执行以下操作:
$array = array('testname',045645765789,'"04.07.2012 12:10:52"');
$array = str_replace('"', '', $array);
fputs($fp, implode(',', $array)."\n");
// Output: testname,79323055,04.07.2012 12:10:52
关于php - 使用fputcsv时避免使用csv文件中的默认引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11516811/