Hallo Rolf,
ich finde es zum lernen viel spaßiger
Lernst Du? Oder lieferst Du ein Produkt an einen Kunden ab?
In diesem Fall lerne ich. Worum es hier geht, ist alleine für mich gescriptet und ich möchte darin lernen und daran wachsen.
Abgesehen davon: Wenn 10 Spalten erwartet werden, aber 99% der Zeilen haben 9 Spalten, was sagt das über die Datei? Ist sie falsch?
Halt stop. Das passiert nicht, denn ich überprüfe vorab, ob ein Spaltentext meinen Delimiter enthält. Deshalb können nicht mehr Delimiter erwartet werden als der zuvor ermittelte Max-Weret ist. Und selbst wenn, würden mir unerwartet viele fehler gemeldet, was mich auch dazu zwingen würde, mir die daten genauer anzusehen.
Was ist denn effizienter?
Falsche Frage. Ok, nicht uninteressant, aber nicht entscheidend.
Korrekte Frage: Was ist effektiver[^1]? Du wirst das ja nicht alle 5 Minuten laufen lassen, darum ist Effizienz nachrangig. fgetcsv kümmert sich nicht nur um das Separieren derFelder in ein Array, sondern auch darum, delimited strings richtig zu behandeln (wenn z.B. der Feldseparator ein Zeichen in den Daten ist
Auch wenn ich bereits Mathias' Antwort darauf gelesen habe, kann ich Deiunem Einwand etwas abgewinnen, egal wie wir das benennen. Du hast recht: Was ich meine, ist tatsächlich die Frage danach, welche Lösung im Fale des falles (sehr sehr viele Daten) noch durchläuft, nihct die Frage danach, welche Lösung das schneller macht.
Pit