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');
写入客户端。
我正在将数据导出到 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');
写入客户端。