用PHP输出一个csv文件
比如$line的内容是:
我希望的数据:
我这样做
结果出来每一列数据上都被加了两个双引号:
这种方法不对,还是有其他更好的方法?
/ext/standard/file.c 的第 1867 - 1875 行 ...
这里描述了 enclosure ... 我翻译成 包围符 出现的规则 ...
双引号本身正是默认的包围符 ... 触发了规则 ... 导致双引号外面再加双引号造成两个双引号的结果 ...
知道了原理 ... 我们来研究对策 ...
第一种方法 ... 使用默认的双引号做包围符 ... 但是强制所有元素触发 ...
产生的结果大概会类似于下面这样 ...
第二种方法 ... 我们去研究手册 ... 手册上关于这个函数的说明是这样的 ...
你可以看到这个函数支持自定义包围符 ... 也就是第四个参数 $enclosure ...
于是我们可以手动在所有元素的两侧加上双引号 ... 并修改默认的包围符为空 ...
这种方式可以让你的例子返回完美的结果 ...
但是如果元素触发了包围符出现规则的话 ... 就会在分隔符也就是逗号的两端出现空格 ...
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。