Eine bestimmte Zeile aus einer Var. löschen & var zusammenführen?

  • Themenstarter Themenstarter Katharina_
  • Beginndatum Beginndatum
K

Katharina_

Hallo Zusammen

ist vielleicht etwas ein seltsamer Titel.
Ich hätte zwei Freagen:

1. Wie führe ich die selbe Variabel aus diversen Dateien zusammen?
Also ich habe z.B. 3 Dateien 1.php, 2.php und 3.php
Alle haben nur eine Variabel und zwar $test="";
Der Inhalt dieser Variabel schaut wie folgt aus:
$test="wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3
wert3|wert3-2|wert3-3
wert4|wert4-2|wert4-3
wert5|wert5-2|wert5-3";
Ich habe auch eine Datei wo diese Dateien drin stehen. ALso ala data.php
$data=1|1.php
2|2.php
3|3.php";
Wie schafe ich es nun, dass ich aus diesen drei Dateien dann eine Variabel test=... habe, wo alle zeilen aus den drei Dateien stehen mit einem derartigen "string" (wert1|wert1-2|wert1-3) pro Zeile? (Ich denke mir ich werde ja dann in eine WHILE gehen mit der data.php, aber wie ich dies weiter machen könnte wüsste ich nicht.

2. Wie kann ich EINEN derartigen string löschen? Also wenn ich diesen String weg haben möchte "wert3|wert3-2|wert3-3" (Es soll keine leere zeile nachher da sein, und vorallem er soll ihn nur EINMAL entfernen. Also falls er zweimal oder so vorkommen soll nur das erste mal soll er gelöscht werden).

Hoffentlich kann mir jemand helfen.

Gruss

Katharina
 
Also ich verstehe nicht genau was du möchtest. Mit unset kannst du eine Variable löschen. Aber eine Variable kann es nur einmal geben. Du kannst nicht eine Variable 2x haben.

Einen String zusammenfügen kannst du so machen
$string1 = $string1 + $string2
oder einfacher
$string1 .= $string2
Ich habe allerdings keine Ahnung was die verschiedenen PHP Files so alles anstellen. Du kannst diese Files includen. Dann hast du auch die Variablen zur Hand, welche in den Files gesetzt werden und kannst sie dann wie oben genannt zusammenfügen. Allerdings wird alles, was in den includeten Files steht ausgeführt. Also wenn du irgendwelche Ausgaben, SQL Abfragen oder solches Zeugs dort drin hast wird das auch ausgeführt...

MFG
redX
 
Hallo

Erstmal danke für deine Antwort zur Frage 1
Nein in den Include Files ist NUR diese eine Variabel drin. Du kannst dir die einezlene Files eigentlich als "Kategorie" vorstellen.
Wie führe ich denn den String zusammen das ich je einen leerschlag habe?
Desweiteren sind die Variabeln immer gleich.
also in allen heisst es $test.
Sagen wir ich ahbe zwei dateien:
datei1:
$test="wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3";
Datei2:
$test="wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3";
Dann soll dies dann raus kommen:
wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3
wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3

Ich habe jedoch das befürchten wenn ich dies so mache wie in deinem beispiel käme dies raus:
wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3

Ich weiss leider auch nicht ob dies zu Problemen führen wird weil alle den selben Var namen haben.

PS. Hast noch ein Tipp zur Frage 2?

Gruss

Katharina
 
Du machst am besten eine Variable, in der du alles Speicherst. Also $displayString oder so.

dann machst du

$displayString = ""
$displayString .= $test . " "; // Hier wird am schluss noch ein Leerschlag eingefügt

Dann der nächste Include. Die Variable $test wird ja jetzt überschrieben da diese in dem Includefile auch vorhanden ist. also nach dem include wieder

$displayString .= $test . " ";

diese Zeile ausführen.
Dies widerholst du für jeden Include. Anstatt dem Leerzeichen kannst du ach ein <br> oder ein \n einfügen wenn du möchtest, oder alles zusammen oder was du hald möcthst :P

MFG
redX
 
redX hat gesagt.:
Du machst am besten eine Variable, in der du alles Speicherst. Also $displayString oder so.

dann machst du

$displayString = ""
$displayString .= $test . " "; // Hier wird am schluss noch ein Leerschlag eingefügt

Dann der nächste Include. Die Variable $test wird ja jetzt überschrieben da diese in dem Includefile auch vorhanden ist. also nach dem include wieder

$displayString .= $test . " ";

diese Zeile ausführen.
Dies widerholst du für jeden Include. Anstatt dem Leerzeichen kannst du ach ein <br> oder ein \n einfügen wenn du möchtest, oder alles zusammen oder was du hald möcthst :P

MFG
redX

Hallo redX

Ok dann mache ich dies so. Dachte gibt ggf noch ne andere Möglichkeit.

Wie sieht es denn wegem löschen aus also meiner zweiten Frage?

Gruss

Jenny
 
Also ich verstehe nicht genau was du möchtest. Mit unset kannst du eine Variable löschen. Aber eine Variable kann es nur einmal geben. Du kannst nicht eine Variable 2x haben.

MFG
redX
 
redX hat gesagt.:
Also ich verstehe nicht genau was du möchtest. Mit unset kannst du eine Variable löschen. Aber eine Variable kann es nur einmal geben. Du kannst nicht eine Variable 2x haben.

MFG
redX

Hallo

Nene :) Ich möchte nur den Inhalt löschen und nur einen bestimmten:
Sagen wir ich habe dies:
$test="wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3
wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3";
Nun möchte ich dies löschen:
wert2|wert2-2|wert2-3
Dies kommt jetzt zweimal vor, aber ich möchte das er es NUR EINMAL löscht.
Desweiteren möchte ich das ergebnis dann nicht so:
$test="wert1|wert1-2|wert1-3

wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3";
sondern so haben:
$test="wert1|wert1-2|wert1-3
wert1|wert1-2|wert1-3
wert2|wert2-2|wert2-3";
also das es keine Leerzeile gibt zwischen drin.

Gruss

Katharina
 
Also eine Variable kann einen String nicht 3 Dimensional aufbewaren. Es ist alles in einer Reihe. Du kannst aber zu anzeige <br>'s oder \n's reinmachen, damit es das gewünschte ergebniss hat. Also steht dann in der Variable folgendes:

$test="wert1|wert1-2|wert1-3<br>wert2|wert2-2|wert2-3<br>wert1|wert1-2|wert1-3<br>wert2|wert2-2|wert2-3";

Jetzt, wenn du wie gesagt wert2|wert2-2|wert2-3 rauslöschen möchtest, löschst du einfach den <br> dahinter gerade mit. Am besten machst du dass dann mit preg_replace Funktion. Dort kannst du auch ein Limit angeben, wie oft das gefundene ersetzt werden soll. In diesem fall nur einmal..

MFG
redX
 
Zurück