在 PHP 中将数组转换为 CSV 文件

Sheeraz Gul 2024年2月15日
  1. 在 PHP 中使用 fputcsv() 将数组转换为 CSV 文件
  2. 在 PHP 中使用 fputcsv() 将数组转换为 CSV 文件并读取该 CSV 文件
在 PHP 中将数组转换为 CSV 文件

本教程将演示在 PHP 中使用 fputcsv() 函数将数组转换为 CSV 文件。

在 PHP 中使用 fputcsv() 将数组转换为 CSV 文件

fputcsv() 首先将一行格式化为逗号分隔值,然后将其写入 CSV 文件。它需要几个参数,其中两个是必需的,即 CSV 文件和值数组。

fputcsv() 会将一维数组作为一行放入 CSV 文件中。我们可以对多维数组使用 foreach 循环将所有数据放入 CSV 文件中。

成功时返回一串值;否则,它返回 False

下面是使用 fputcsv() 的代码示例。

<?php
$data = array (
    array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4'),
    array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4'),
    array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4'),
    array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4')
);
//Create a CSV file
$file = fopen('Newfile.csv', 'w');
foreach ($data as $line) {
    //put data into csv file
    fputcsv($file, $line);
}
fclose($file);
?>

输出:

数组到 CSV 输出

上面的代码首先创建了一个 CSV 文件,并将数据数组一个一个写入。

在 PHP 中使用 fputcsv() 将数组转换为 CSV 文件并读取该 CSV 文件

下面的代码首先使用 fputcsv() 将给定数组转换为 CSV,并使用另外两个参数 $delimiter$enclosure。它读取文件并打印包含所有文件数据的字符串。

请参阅示例以更好地理解具有更多参数的 fputcsv() 函数。

<?php
$data = array(
        array('Employee', 'Salary', 'Attendence', 'Company'),
        array('Mark', '3000', '20','Delftstack'),
        array('Shawn', '4000', '22','Delftstack'),
        array('Mike', '3500', '21','Delftstack')
);
$delimiter = ','; //parameter for fputcsv
$enclosure = '"'; //parameter for fputcsv
//convert array to csv
$file = fopen('file.csv', 'w+');
foreach ($data as $data_line) {
    fputcsv($file, $data_line, $delimiter, $enclosure);
}

$data_read="";
rewind($file);
//read CSV
while (!feof($file)) {
    $data_read .= fread($file, 8192); // will return a string of all data separeted by commas.
}
fclose($file);
echo $data_read;
?>

输出 1:

Employee,Salary,Attendence,Company
Mark,3000,20,Delftstack
Shawn,4000,22,Delftstack
Mike,3500,21,Delftstack

输出:

数组到 CSV 并读取文件输出

作者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相关文章 - PHP Array