fputcsv()
函数用于将一个数组或字符串写入 CSV 文件。它可以处理多维数组,但是需要先将多维数组转换为一维数组。可以使用 array_merge()
和 foreach
循环来实现这一目标。
以下是一个示例:
<?php
// 多维数组
$data = [
['John', 'Doe', 'john@example.com'],
['Jane', 'Doe', 'jane@example.com'],
['Jim', 'Smith', 'jim@example.com']
];
// 将多维数组转换为一维数组
function flatten_array($array) {
$result = [];
foreach ($array as $item) {
if (is_array($item)) {
$result = array_merge($result, flatten_array($item));
} else {
$result[] = $item;
}
}
return $result;
}
$flattened_data = flatten_array($data);
// 将一维数组写入 CSV 文件
$csv_file = fopen('output.csv', 'w');
if ($csv_file === false) {
die('Error opening file');
}
foreach ($flattened_data as $row) {
fputcsv($csv_file, $row);
}
fclose($csv_file);
?>
这个示例中,我们首先定义了一个多维数组 $data
,然后使用 flatten_array()
函数将其转换为一维数组 $flattened_data
。接下来,我们使用 fputcsv()
函数将一维数组写入名为 output.csv
的文件中。