PHP - CSV导出 - 在列数据中添加逗号

时间:2016-03-22 12:11:20

标签: php csv export-to-csv

我正在将数据导出为CSV并面临一个问题。

$data['name'] = "Test";
$data['category'] = "category1, category2, caegory3";

当我将代码导出为CSV时,它会导出记录,但会为category1创建单独的列,为category 2创建单独的列,为category3创建单独的列。

Current Output
-------------------------------------------
| Name | Category  |           |           |
-------------------------------------------- 
| TEst | category1 | category2 | category3 |
--------------------------------------------


 Expected Output

------------------------------------------------------------
| Name | Category                      |         |         |
-------------------------------------------- ---------------
| TEst | category1,category2,category3 |         |         |
------------------------------------------------------------

我应该怎么做,以逗号分隔的字符串落在同一列?

2 个答案:

答案 0 :(得分:5)

您应该在""之间设置类别值,以便不解释逗号。您可以更改以下代码:

$data['name'] = 'Test';
$data['category'] = '"category1, category2, caegory3"';

答案 1 :(得分:1)

你应该看看fputcsv。它完全符合您的要求,具有不同的转义字符等等。

http://php.net/manual/en/function.fputcsv.php

如果您希望将其输出到缓冲区而不是文件,可以使用$fh = fopen('php://output', 'w');写入客户端。