使用 fputcsv 避免来自 csv 的默认引号
fputcsv($fp, $array, ',', '"'); // OR fputcsv($fp, $array);
在测试.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
想要将 something 放在一个带有空格的字符串周围,所以如果您根本不想使用引号,您要么需要变通,要么使你自己的功能来做你想做的事。 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/