wolfram523
15.05.2008, 09:15:05
Ja ich weiß ich und meine Textdateien :D
Ich habe folgenden Quelltext, welcher eine Textdatei ausliest und den Inhalt so aufteilt, das alles zwischen einem bestimmten Trennzeichen in einem Array steht.
$lines = file("test_big.txt");
foreach ($lines as $key => $line) {
$words = explode("\t", $line);
foreach ($words as $key1 => $word) {
$words[$key1] = trim($word);
$lines[$key] = $words;
}
}
Das Resultat sieht am Ende so aus:
Array
(
[0] => Array
(
[0] => Daten 0
[1] =>
)
[1] => Array
(
[0] =>
[1] =>
)
[2] => Array
(
[0] => Daten 1
[1] => Daten 2
[2] => Daten 3
)
usw
Wie man sieht gibt es leere Arrays. Die geschieht deshalb, weil in der Textdatei die Trennzeichen teilweise doppelt vorkommen. So wie ich das sehe habe ich 2 Möglichkeiten:
Die leeren Arrays löschen
doppelte Zeichen vor der Eingabe abfangen.
Erstere Variante habe ich bereits tausendfach mit "unset" probiert zu realisieren, bin jedoch jedes mal gescheitert. Kann mir einer von euch weiterhelfen?
Ich habe folgenden Quelltext, welcher eine Textdatei ausliest und den Inhalt so aufteilt, das alles zwischen einem bestimmten Trennzeichen in einem Array steht.
$lines = file("test_big.txt");
foreach ($lines as $key => $line) {
$words = explode("\t", $line);
foreach ($words as $key1 => $word) {
$words[$key1] = trim($word);
$lines[$key] = $words;
}
}
Das Resultat sieht am Ende so aus:
Array
(
[0] => Array
(
[0] => Daten 0
[1] =>
)
[1] => Array
(
[0] =>
[1] =>
)
[2] => Array
(
[0] => Daten 1
[1] => Daten 2
[2] => Daten 3
)
usw
Wie man sieht gibt es leere Arrays. Die geschieht deshalb, weil in der Textdatei die Trennzeichen teilweise doppelt vorkommen. So wie ich das sehe habe ich 2 Möglichkeiten:
Die leeren Arrays löschen
doppelte Zeichen vor der Eingabe abfangen.
Erstere Variante habe ich bereits tausendfach mit "unset" probiert zu realisieren, bin jedoch jedes mal gescheitert. Kann mir einer von euch weiterhelfen?