#php #arrays #csv #foreach #export-to-csv
#php #массивы #csv #для каждого #экспорт в 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
Ответ №1:
Попробуйте это:
fputcsv($f, [$nat]);
fputcsv ожидает массив, поскольку строка состоит из n столбцов. 1 в вашем случае 🙂