Antworten auf deine Fragen:
Neues Thema erstellen

[PHP] Textdatei, viele Werte in Variable speichern

normdew

Mediengestalter D/P FR:G+T

Hallo,

ich weiß, dass man bei Google eine Menge Ergebnisse zu dem Thema findet: "Werte aus Textdatei auslesen und in Array ablegen".

Ich komme aber nicht auf einen Grünen Zweig. Vielleicht habe ich n Knoten im Hirn. Vielleicht erklärt sich jemand bereit, mir zu helfen! :)

Meine Textdatei ist Tabstop getrennt (dargestellt durch /t).
Code:
variablenname1 /t wert1_einzeilig
variablenname2 /t wert2_einzeilig
variablenname3 /t wert3_mehrzeilig
variablenname4 /t wert4_mehrzeilig
variablenname5 /t wert5_einzeilig

Das geht soweit schon, sprich, dass ich die variablenname und wert je zeile im Array unter ..[0] und ..[1] ablege ...
PHP:
$article = file('text.txt');
foreach($article AS $zeile) {
$zerlegen = explode("\t", $zeile); }

...aber sonst?!!


Wie erzeuge ich diesen array so, dass es beliebig viele zeilen sein könnten.
Das müsste doch mit einigen wenigen schleifen, funzen oder?
es handelt sich immer um einen variablennamen und einen wert, die sich gegenüberstehen.

Ich hoffe, ich habe mich verständlich ausgedrückt.
 
Zuletzt bearbeitet:

hub

nicht ganz neu hier

AW:
PHP:
 Textdatei, viele Werte in Variable speichern[/b]

Moin,
[quote="normdew, post: 2203732"]Ich hoffe, ich habe mich verständlich ausgedrückt.[/QUOTE]
nicht wirklich, oder ich hab ein Knoten im Hirn :)
meinst du so was ([URL="http://php.net/manual/de/function.file.php"]klick[/URL]) ? 
 
Gruß Ulli
 

normdew

Mediengestalter D/P FR:G+T

AW:
PHP:
 Textdatei, viele Werte in Variable speichern[/b]

[quote="hub, post: 2203744"]Moin,

nicht wirklich, oder ich hab ein Knoten im Hirn :)
meinst du so was ([URL="http://php.net/manual/de/function.file.php"]klick[/URL]) ? 
 
Gruß Ulli[/QUOTE]

ich war wohl etwas zu langsam mit meinem EDIT der Anfrage ... :D:uhm:
 

Duddle

Posting-Frequenz: 14µHz

AW:
PHP:
 Textdatei, viele Werte in Variable speichern[/b]

Du gibst zu wenige Parameter für deine Datei.

Können die Werte wirklich mehrzeilig sein? Wenn ja, können sie auch Tabstops enthalten? Wenn beides wahr ist, hast du ein Problem. Da du dann nicht eindeutig nach Zeilenumbrüchen und nicht eindeutig nach Tapstops trennen kannst, benötigst du ein anderes Trennzeichen.
Können die Variablen Sonderzeichen enthalten, sind sie in irgendeiner Weise eindeutig von den Werten unterscheidbar?

Ausserdem: wie sieht dein Ansatz aus?


Duddle
 

normdew

Mediengestalter D/P FR:G+T

AW:
PHP:
 Textdatei, viele Werte in Variable speichern[/b]

[quote="Duddle, post: 2203747"]Können die Werte wirklich mehrzeilig sein?[/QUOTE]
ja!

Dass im Wert auch Tabs vorkommen, kann ich mir nicht vorstellen, lässt sich aber auch nicht zu 100% ausschließen.
Aber dafür kann man ja ein kombiniertes einmaliges Trennzeichen definieren. das sollte nicht das Problem sein oder?

Vielleicht sowas:
[PHP]$zerlegen = explode("|", $zeile); }
oder
PHP:
$zerlegen = explode("/t|/t", $zeile); }
 
Zuletzt bearbeitet:

normdew

Mediengestalter D/P FR:G+T

AW:
PHP:
 Textdatei, viele Werte in Variable speichern[/b]

[quote="Duddle, post: 2203747"]Ausserdem: wie sieht dein Ansatz aus?[/QUOTE]

[PHP]$article = file('text.txt'); 
foreach($article AS $zeile) { 
$zerlegen = explode("\t", $zeile); }
Das war mein Ansatz!

und das folgende hier bringt mich nicht weiter, weill ich die werte nicht hitereinanderweg ausgeben werde, sondern hier und da benötige und ausgebe:
PHP:
foreach($article AS $zeile) {
$zerlegen = explode("\t", $zeile);
echo "<b>$zerlegen[0]</b><br>
$zerlegen[1]<br><br>";
}
 

Duddle

Posting-Frequenz: 14µHz

AW:
PHP:
 Textdatei, viele Werte in Variable speichern[/b]

Wie gesagt:
[QUOTE]Wenn beides wahr ist, hast du ein Problem[/QUOTE]
Wenn deine Beispieldatei so aussieht
[CODE]
V1 \t 1 1 1 1
V2 \t 2 2 2
2 2 \t 2
V3 \t 3 3 3 3 3 3
[/CODE]
kannst du nicht nach Zeilenumbrüchen trennen, weil dann diese "Zeilen" rauskommen
[CODE]
"V1 \t 1 1 1 1"
"V2 \t 2 2 2"
"2 2 \t 2"
"V3 \t 3 3 3 3 3 3"
[/CODE]
Wenn du keine Tabs in Werten hättest, könntest du definieren "Zeilenanfang bis Tabstop ist Variable, alles zwischen zwei Variablen ist Wert der ersten Variable". Aber du hast mglw. Tabs, also geht das nicht.

Du musst jetzt manuell reingehen und die Datei mit neuen (eindeutigen) Trennzeichen versehen und daran exploden. Ausserdem muss was immer diese Datei erzeugt angepasst werden.

Edit: es sei denn, deine Variablen sind eindeutig identifizierbar. Aber das hast du nicht erwähnt, deshalb gehe ich nicht davon aus.


Duddle
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben