PHP将数组数据导出为CSV格式的数据列

问题描述

我正在尝试将国籍数据导出为CSV。我的国籍数据存储在一个数组中。但是,当我将其导出时,我的CSV输出显示错误警告:fputcsv()期望参数2为数组” 。我可以知道如何在csv列中显示国籍数据吗?

我的代码

$filename = "nationality_list.csv"; // Create file name
$array_nat = array('BANGLADESH','CAMBODIA','CHInesE','DUTCH','FILIPINO','french','GERMAN','INDIAN','INDOnesIA','ITALY','JAPAnesE','KOREAN','LITHUANIAN','MALAYSIA','MYANMAR','NEW ZEALAND','RUSSIAN','SINGAPOREAN','SRI LANKAN','THAILAND','UK','USA');
$f = fopen('PHP://memory','w');

$fields = array('Nationality_list');
        
fputcsv($f,$fields);
    
foreach($array_nat as $nat){
    fputcsv($f,$nat);
}

//move back to beginning of file
fseek($f,0);
//set headers to download file rather than displayed
header('Content-Type: text/csv');
header('Content-disposition: attachment; filename="' . $filename . '";');
//output all remaining data on a file pointer
fpassthru($f)

所需的CSV输出

enter image description here

解决方法

尝试一下:

fputcsv($f,[$nat]);

fputcsv需要一个数组,因为一行包含n列。您的情况下为1:)