PHP-Array in CSV-Konvertierung mit Spaltenüberschriften

8

Ich möchte das Array in csv konvertieren und das assoziative Array in csv konvertieren.

Aber nicht in der Lage, die Header zu bekommen.

Ich möchte das NUMBER TYPE DATE als Header dynamisch

Unten ist das Array, das ich konvertierte.

%Vor%

Der Code ist unten angegeben. Aber nicht in der Lage, die Header zu bekommen, aber seine Werte kommen.

%Vor%     
mark rammmy 03.05.2013, 20:07
quelle

4 Antworten

14

Benutze einfach array_keys , um die Schlüssel zu erhalten und schreibe sie zuerst in die Datei.

%Vor%

Dies setzt voraus, dass Sie ein numerisches Array haben (und davon ausgeht, dass es nicht leer ist). Wenn arr[0] nicht garantiert festgelegt ist, können Sie array_shift oder array_slice , um das erste Element zu extrahieren. (Oder Sie könnten einfach ein Flag in Ihrer Schleife haben, ob der Header bereits geschrieben ist oder nicht - haben Sie einfach den Standardwert false. Wenn es nicht wahr ist, setzen Sie es auf true und drucken Sie den Header.)

Während ich dabei bin, können Sie array_combine verwenden, um in die entgegengesetzte Richtung zu gehen (CSV zu einem Array von assoziativen Arrays).

%Vor%

(Beachten Sie, dass davon ausgegangen wird, dass Sie keine leeren Zeilen haben - eine leere Zeile würde array() zurückgeben, die eine Warnung mit dem Kombinator ausgeben und Unsinn in data setzen würde.)

    
Corbin 03.05.2013, 20:10
quelle
6

DarrenKs Antwort ist lesbar, aber unvollständig. Also für die Noophyten.

%Vor%     
Robert Clark 07.10.2016 18:01
quelle
0

Robert Clarks Antwort ist sehr knapp, bedarf jedoch noch einer Vereinfachung: Die else -Klausel ist nicht erforderlich:

%Vor%     
FKEinternet 22.02.2018 21:55
quelle
-1

Das hat gut für mich funktioniert null $ header ist nicht null, sobald Sie die Schlüssel zugewiesen haben, dann folgen die Zeilen.

%Vor%

nicht so kurz wie oben, aber ich finde es gut lesbar.

    
DarrenK 19.08.2014 00:30
quelle

Tags und Links