Code-Snippets → PHP → CSV aus Array generieren CSV aus Array generieren Chris Coyier am 25. Nov. 2009 function generateCsv($data, $delimiter = ',', $enclosure = '"') { $handle = fopen('php://temp', 'r+'); foreach ($data as $line) { fputcsv($handle, $line, $delimiter, $enclosure); } rewind($handle); while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); return $contents; } Verwendung $data = array( array(1, 2, 4), array('test string', 'test, literal, comma', 'test literal "quotes"'), ); echo generateCsv($data); // outputs: // 1,2,4 // "test string","test, literal, comma","test literal""quote"""
Ok, das ist eine tolle Funktion!
Das ist sehr hilfreich. Mir ist bewusst, dass dies ein älterer Beitrag ist, aber ich wollte darauf hinweisen, dass die Variable
$contentsoffenbar nicht deklariert wurde, bevor ihr etwas hinzugefügt wurde.Großartig, danke!
Das ist das, was sie jetzt in PHP haben.
http://php.net/manual/en/function.fputcsv.php
Dieser Typ hat eine nette Ergänzung hinzugefügt – Array-Schlüssel als Kopfzeile.
Schreibe die Kopfzeilen aus
fputcsv($fh, array_keys(current($data)));
https://coderwall.com/p/zvzwwa/array-to-comma-separated-string-in-php
Das Schreiben einer Datei nur zur Umwandlung eines Arrays in CSV ist sehr ressourcenintensiv und langsam. Dies ist ein ähnlicher Ansatz, verwendet aber nur Speicher: https://coderwall.com/p/zvzwwa/array-to-comma-separated-string-in-php