我有一个将数据库查询结果转换为 csv 文件的脚本。csv 文件的第一行需要是查询中定义的字段名称。这是我到目前为止所拥有的:
$fp = fopen('report.csv', 'w');
$column_names = array();
foreach($dbh->query($base_query, PDO::FETCH_ASSOC) as $row) {
if (empty($column_names)) {
$column_names = array_keys($row);
fputcsv($fp, $column_names);
}
// additional processing omitted ...
fputcsv($fp, $row);
}
fclose($fp);
是否有更好的方法来填充 csv 第一行中的列名(取消 if 条件)?也许在循环之外做?还是在获取数据之前让 PDO 输出列名?谢谢。