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

PHP - CSV export - Add comma in column data

我正在将数据导出到 CSV,但遇到一个问题。

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

当我将代码导出到 CSV 时,它会导出记录,但会为类别 1 单独列,为类别 2 单独列,为类别 3 单独列。

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


 Expected Output

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

我应该怎么做才能使逗号分隔的字符串位于同一列中?

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

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

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

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

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