Frage von adamax08, 21

PHP: CSV Spalten in versch. Arrays?

Tach,

Ich habe eine riesen Tabelle (über 24.000 Zeilen) mit 3 Spalten, getrennt mit ";". Die Spalten möchte ich in 3 verschiendenen Arrays aufsplitten.

Ich bin total neu mit PHP. Soweit bin ich schon mal gekommen:

$data = array(); while($row = fgetcsv($file)) { $data[] = $row; }

Ich denke mal, dass ich bei $row eingeben kann, welche Spalte soll in das Array eingefügt wird oder liege ich da falsch?

Wie kann ich das jetzt so biegen, dass ich 3 Spalten in 3 Arrays einfügen kann?

MfG

Antwort
von Suboptimierer, 21

Wenn das, was du oben geschrieben hast, funktioniert, würde es reichen, wenn du in der Schleife nach der Zuweisung von $data[] die Spalten zuordnest. Vor die Schleife packst du noch ein $i = 0;:

$Spalte1[$i] = $data[0];
$Spalte2[$i] = $data[1];
$Spalte3[$i] = $data[2];
$i++;
Kommentar von Sawascwoolf ,

Deine Ausführung ist nicht ganz korrekt. Statt $data muss $row verwendet werden

Kommentar von Suboptimierer ,

Stimmt. $data ist ein doppeltes Array.

$row[0] entspricht $data[0][0];


Die Kurzschreibweise $data[] = ... ist mir neu und finde ich sehr bequem. Ich hätte gar nicht mit $i arbeiten müssen.

Antwort
von maximilianus7, 17
$spalte1 = array();
$spalte2 = array();
$spalte3 = array();
while($row = fgetcsv($file,,';' ))
{
$spalte1[] = $row[0];
$spalte2[] = $row[1];
$spalte3[] = $row[2];
}

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten