Вы хотите отформатировать данные и создать данные в формате CSV (значения, разделённые запятыми), которые можно импортировать в электронную таблицу (например, Excel) или базу данных.
Используйте функцию fputcsv()
для создания форматированных данных CSV из массива. Пример [1-27] записывает данные из $sales
в файл.
[Пример 1-27]:
$sales = array( array('Northeast','2005-01-01','2005-02-01',12.54),
array('Northwest','2005-01-01','2005-02-01',546.33),
array('Southeast','2005-01-01','2005-02-01',93.26),
array('Southwest','2005-01-01','2005-02-01',945.21),
array('All Regions','--','--',1597.34) );
$filename = './sales.csv';
$fh = fopen($filename,'w') or die("Can't open $filename");
foreach ($sales as $sales_line) {
if (fputcsv($fh, $sales_line) === false) {
die("Can't write CSV line");
}
}
fclose($fh) or die("Can't close $filename");
Если вы хотите вывести форматированные данные CSV вместо записи их в файл, вы можете использовать специальный выходной поток PHP php://output
для работы:
[Пример 1-28]:
$sales = array( array('Northeast','2005-01-01','2005-02-01',12.54),
array('Northwest','2005-01-01','2005-02-01',546.33),
array('Southeast','2005-01-01','2005-02-01',93.26),
array('Southwest','2005-01-01','2005-02-01',945.21),
array('All Regions','--','--',1597.34) );
$fh = fopen('php://output','w');
foreach ($sales as $sales_line) {
if (fputcsv($fh, $sales_line) === false) {
die("Can't write CSV line");
}
}
fclose($fh);
- Если вы хотите поместить форматированные данные CSV в строку, а не выводить их или записывать в файл, вы можете объединить метод из примера [1-28] с выходным буфером:
[Пример 1-29]:
$sales = array( array('Northeast','2005-01-01','2005-02-01',12.54), array('Northwest','2005-01-01','2005-02-01',546.33), array('Southeast','2005-01-01','2005-02-01',93.26), array('Southwest','2005-01-01','2005-02-01',945.21), array('All Regions','--','--',1597.34) ); ob_start(); $fh = fopen('php://output','w') or die("Can't open php://output"); foreach ($sales as $sales_line) { if (fputcsv($fh, $sales_line) === false) { die("Can't write CSV line"); } } fclose($fh) or die("Can't close php://output"); $output = ob_get_contents(); ob_end_clean();
#### См. также
* [Справочник по функции `fputcsv`](http://php.net/manual/zh/function.fputcsv.php).
* Раздел 8.13 содержит более подробное введение в концепцию буфера вывода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )