2016-03-26 6 views
0

Gibt es eine Möglichkeit, ein PHP-Array in eine CSV-Datei zu setzen, die jedes Element des Arrays als neue Zeile eingibt? Das ist, was ich habe:PHP-Array in CSV-Zeilen anstelle von Spalten exportieren

$list = array (
     array('names'), 
     array('bob,bill,john,sally')); 

    $fp = fopen('files.csv', 'w'); 

    foreach ($list as $fields) { 
     fputcsv($fp, $fields); 
    } 

    fclose($fp); 

Meine csv sieht wie folgt aus:

names 
bob,bill,john,sally 

aber das ist, was ich suche:

names 
bob 
bill 
john 
sally 
+2

Was Sie beschreiben, ist nicht CSV (durch Komma getrennte Werte). Sie sollten einfach über die Arrays iterieren, die Namen zu einer Zeichenfolge hinzufügen (mit Zeilenumbrüchen) und dann diese Zeichenfolge in der Datei speichern (so dass Sie nicht 100 Mal in der Datei speichern) – JimL

+0

@JimL macht sehr viel Sinn. Ich mache einige Dinge mit der Datei in Powershell, die ich neu bin, und ich kann einen csv damit in meinem gewünschten Format leicht importieren. Es sollte ziemlich einfach sein, jedes Element in einer neuen Zeile zu speichern. –

+0

Ist das ein Tippfehler in Ihrer '$ list' Deklaration oder fehlt Ihnen ein') '? Klingt auch, als ob du das Problem lösen konntest? – Rizier123

Antwort

0

Es war nur eine Frage der Verwendung fwrite() statt fputcsv()

$list = array (
     array('names'), 
     array('bob,bill,john,sally')); 

    $fp = fopen('files.csv', 'w'); 

    foreach ($list as $fields) { 
     fwrite($fp, $fields.PHP_EOL); 
    } 

    fclose($fp); 
Verwandte Themen