📌  相关文章
📜  如何在 php\ 中的新行 .csv 中传递逗号分隔值 - PHP (1)

📅  最后修改于: 2023-12-03 15:24:19.002000             🧑  作者: Mango

如何在 PHP 中的新行 .csv 中传递逗号分隔值

在 PHP 中,我们常常需要将一些数据存储到 csv 文件中。由于 csv 是一种以逗号分隔值的格式,因此在写入数据时需要注意如何处理包含逗号的值,以及如何在新行中正确的写入值。

1. 使用 fputcsv 函数

在 PHP 中,可以使用 fputcsv 函数来将数组中的值写入 csv 文件中,该函数会根据逗号分隔值的格式将值进行处理,并自动添加逗号和换行符。

下面是一个例子,演示如何将一个含有逗号的字符串和一个数组写入 csv 文件中:

<?php

$fp = fopen('data.csv', 'w');

$string = 'apple,banana,orange';

$array = ['apple', 'banana', 'orange'];

fputcsv($fp, explode(',', $string));

fputcsv($fp, $array);

fclose($fp);

结果如下所示:

apple,banana,orange
apple,banana,orange

可以看到,fputcsv 函数会自动处理逗号,并在每一行的末尾添加一个换行符。

2. 处理含有逗号的值

在写入 csv 文件时,如果值中含有逗号,需要将该值用双引号括起来。例如,对于包含逗号的字符串,可以使用如下代码来写入 csv 文件中:

<?php

$fp = fopen('data.csv', 'w');

$string = 'apple,"banana,orange"';

fputcsv($fp, explode(',', $string));

fclose($fp);

结果如下所示:

apple,"banana,orange"

可以看到,含有逗号的值被用双引号括起来了。

3. 写入新行

在写入 csv 文件时,每次写入一行数据后,需要添加一个换行符。可以通过向 fputcsv 函数传递一个空数组来实现:

<?php

$fp = fopen('data.csv', 'w');

$string = 'apple,"banana,orange"';

$array = ['apple', 'banana', 'orange'];

fputcsv($fp, explode(',', $string));

fputcsv($fp, $array);

fputcsv($fp, []);

fclose($fp);

结果如下所示:

apple,"banana,orange"
apple,banana,orange

可以看到,使用空数组作为参数调用 fputcsv 函数,会在 csv 文件中新写一行。

结论

在 PHP 中,使用 fputcsv 函数可以方便的将数组中的值写入到 csv 文件中。对于包含逗号的值,需要将其用双引号括起来。在写入每一行数据后,需要添加一个换行符。