加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 将引号添加到CSV导出

发布时间:2020-12-13 17:15:30 所属栏目:PHP教程 来源:网络整理
导读:我正在使用fputcsv将数据导出到CSV文件.我有正在编写的字符串但是我要求数据用双引号括起来. foreach ($orderDetails['lines'] as $line) { fputcsv($orderImportCsv,$line);} 在编辑器中打开时会创建以下内容(sublime) L,M3344,100 L,M3356,50 我需要将每个
我正在使用fputcsv将数据导出到CSV文件.我有正在编写的字符串但是我要求数据用双引号括起来.

foreach ($orderDetails['lines'] as $line) {
     fputcsv($orderImportCsv,$line);
}

在编辑器中打开时会创建以下内容(sublime)

L,M3344,100

L,M3356,50

我需要将每个字段都用双引号括起来.

所以我试过这个:

foreach ($lines as &$line) {
    foreach ($line as &$column) {
        $column = '"' . $column . '"';
    }
}

所以基本上这应该遍历每个行字段并将其包装在“”中.但运行后,我得到以下输出:

“””L”””,”””M3344″””,””””””,”””100″””

“””L”””,”””M3356″””,”””50″””

它现在在变量周围放置了两组双引号!

有一个更好的方法吗?

UPDATE

我知道fputcsv有两个可选参数.分隔符和外壳.但是我认为机箱默认为“”,但仅当字符串被拆分为单独的单词时.

解决方法

由于您自己插入机箱,因此必须指示PHP不使用它.似乎没有记录的方法来做到这一点,但使用空格似乎工作:

<?php
foreach($orderDetails['lines'] as $line){
    foreach ($line as &$column) {
        $column = '"' . $column . '"';
    }
    unset($column);

    fputcsv($orderImportCsv,$line,',' ');
}

或者你可以避免fputcsv()并自己组成一切.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读