• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

.txt Werte nach Datum sortieren

Calm

Mitglied
Hallo.

Ich habe eine .txt-Datei die folgender Maßen aussieht:

Olaf | Mustermann | Düsseldorf | Kino | 03.04.2013
Max | Mustermann | Frankfurt am Main | Kino | 01.04.2013

So gebe ich alles aus:

PHP:
$datei ="termine.txt";
$str_Termine = nl2br(file_get_contents($datei));

Wie kann ich die Datenreihen nach Datum sortieren?
 
Also wenn du die Datei mit PHP: file - Manual statt file_get_contents ausliest, bekommst du ein Array zurückgegeben welches die einzelnen Zeilen enthält.

Mit PHP: implode - Manual kannst du diese Zeilen nun noch in Spalten trennen (Ach, da habe ich mich vertan. Meinte natürlich http://php.net/manual/de/function.explode.php):
PHP:
explode(' | ',$row);

Natürlich muss das in einer Schleife stattfinden, ich weigere mich nur in diesem schrecklichen Editor noch einmal mehrzeiligen Code zu schreiben.

Jetzt kannst du dir hier noch eine passende Sortierfunktion aussuchen: PHP: Sorting Arrays - Manual

Wahrscheinlich usort() oder uasort(), da es sich um ein mehrdimensionales Array handelt und du auch noch das String-Datum in einen Timestamp konvertieren musst.

PS: Wenn du das ganze mit einer Datenbank lösen würdest, wäre das ganze ein geschätzter 2-Zeiler und auch noch viel performanter - denke ich zumindest.
 
Zuletzt bearbeitet:
Das mit der Datenbank ist wohl der beste Tipp, den scbawik gegeben hat, denn mit explode usw. rumzuspielen ist wirklich nicht die beste Methode für sowas.
fgetcsv() ist genau das Richtige für dich - abgesehen von der Datenbank.
 
Zurück
Oben