为了账号安全,请及时绑定邮箱和手机立即绑定

这种方法不对,还是有其他更好的方法?求高手指点一下啊

这种方法不对,还是有其他更好的方法?求高手指点一下啊

PHP
繁星淼淼 2023-04-24 19:15:30
用PHP输出一个csv文件foreach ($old['lines'] as $line) {     fputcsv($new, $line); }比如$line的内容是:CA,12,YMU,13,YMU,12,N我希望的数据:"CA","12","Y""MU","13","Y""MU","12","N"我这样做foreach ($lines as &$line) {    foreach ($line as &$column) {        $column = '"' . $column . '"';     } }结果出来每一列数据上都被加了两个双引号:""CA"",""12"",""Y""""MU"",""13"",""Y""""MU"",""12"",""N""
查看完整描述

2 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

比较不正规的方法,若字段中含有双引号,解析的时候会出错:

<?php
	$fp = fopen('php://stdout', 'w');	fputcsv($fp, array_map(function ($item) {		return '"' . $item . '"';
	}, array(1,2,'b c','\'ss"')), ',', ' ');	fclose($fp);
"1","2", "b  c" ,"'ss""


查看完整回答
反对 回复 2023-04-28
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

fputcsv方法有4个参数,如下:

fputcsv(file,fields,seperator,enclosure);

file 保存的文件名
fields 数据数组
seperator 字段分隔符,默认是逗号
enclosure 字段包围符,默认是双引号

你问题的点是第4个参数enclosure,由于你没有传(实际也不用传),默认就是双引号,所以经过你多余的处理后被加了2次。


查看完整回答
反对 回复 2023-04-28
  • 2 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信