📜  php 数组到 csv - PHP (1)

📅  最后修改于: 2023-12-03 14:45:24.266000             🧑  作者: Mango

PHP数组到CSV

在PHP中将数组转换为CSV格式是非常常见的操作。CSV是一种用来存储电子表格或数据库信息的文件格式,它可以被Excel、Google Sheets等应用程序读取和解析。

导出CSV

下面是一个简单的PHP脚本,将一个数组导出为CSV文件:

$data = array(
    array('id', 'name', 'email'),
    array(1, 'John Doe', 'johndoe@example.com'),
    array(2, 'Jane Doe', 'janedoe@example.com'),
    array(3, 'Bob Smith', 'bobsmith@example.com')
);

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

foreach ($data as $row) {
    fputcsv($fp, $row);
}

fclose($fp);

此脚本将数组$data中的数据导出为CSV文件,使用fopen打开CSV文件,并利用fputcsv函数逐行写入CSV文件。如果需要将CSV文件发送到Web浏览器,可以在逐行写入CSV文件后,使用header()设置正确的HTTP响应头:(示例)

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="data.csv"');
readfile('data.csv');
exit;
导入CSV

利用PHP将CSV文件导入为数组也是常见的操作。可以使用PHP内置的fgetcsv()函数,将CSV文件的每一行读取到数组中。

下面是一个简单的PHP脚本,将CSV文件导入为数组:

$data = array();

if (($handle = fopen("data.csv", "r")) !== FALSE) {
    while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $data[] = $row;
    }
    fclose($handle);
}

print_r($data);

此脚本先打开CSV文件并利用fgetcsv()函数逐行读取CSV文件。读取每一行时,将CSV文件的每一行转换为数组并添加到$data中。最后,使用print_r()函数打印结果。

总结

将PHP数组转换为CSV格式和将CSV文件导入为数组非常常见。这些操作可以将数据从一个应用程序传输到另一个应用程序,也可以将数据保存在电子表格中以备将来使用。在PHP中,使用fputcsv()函数将数组写入CSV文件,并使用fgetcsv()函数将CSV文件读取为数组。