Mit variable übergebenen string teilen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

Mit variable übergebenen string teilen?

Beitrag von KoSSo »

Hi,
ich habe eine Variable die einen String übergibt dieses ist wie folgt aufgebaut:

Code: Alles auswählen

$edo = "EDO 01 AND EDO 02 AND EDO 03 AND EDO 04 AND EDO 05";
nun möchte ich diesen string wie folgt aufteilen:

Code: Alles auswählen

$edo[0] = "EDO 01";
$edo[1] = "AND EDO 02";
$edo[2] = "AND EDO 03";
$edo[3] = "AND EDO 04";
$edo[4] = "AND EDO 05";
ich habe es schon mit explode probiert aber da muss man ein trennzeichen angeben so:

Code: Alles auswählen

$arr = explode('AND', $edo);
aber das problem ist dabei das dann AND entfernt wird und nurnoch das ausgegeben wird:

Code: Alles auswählen

$arr[0] = "EDO 01";
$arr[1] = "EDO 02";
$arr[2] = "EDO 03";
$arr[3] = "EDO 04";
$arr[4] = "EDO 05";
irgendjemand ne idee wie ich das aufteilen kann ohne daß das AND verloren geht?

Grüße KoSSo
Benutzeravatar
King Crusty
Mitglied
Beiträge: 209
Registriert: 20.04.2002 11:58
Wohnort: Deggendorf - Altötting
Kontaktdaten:

Beitrag von King Crusty »

spontaner Workaround:

kleb halt das AND mit einer schleife wieder hin :-)
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

Beitrag von KoSSo »

Wie genau meinst das?Kann mir grade nichts darunter vorstellen :-? Bin noch absoluter noob in sachen php :oops: Wäre nett von dir wenn du mir etwas genauer erklären könntest wie du das meinst :)

Grüße KoSSo
Benutzeravatar
King Crusty
Mitglied
Beiträge: 209
Registriert: 20.04.2002 11:58
Wohnort: Deggendorf - Altötting
Kontaktdaten:

Beitrag von King Crusty »

Bitte schreib doch mal wie du den String erhältst, warum du ihn splitten musst und wie unterschiedlich der String aussehen kann. Ich denke mal, dann können wir eine vernünftige(re) Lösung finden.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

KoSSo hat geschrieben:Wie genau meinst das?Kann mir grade nichts darunter vorstellen :-? Bin noch absoluter noob in sachen php :oops: Wäre nett von dir wenn du mir etwas genauer erklären könntest wie du das meinst :)
Versuch's mal so:

Code: Alles auswählen

$arr = explode(' AND ', $edo); // Auf die Leerzeichen achten!
if (count($arr) > 1) // Nur Ausführen, wenn das Array mehr als ein Element hat, da sonst das ganze keinen Sinn macht
{
    for($i = 1; $i < count($arr); $i++) // Wird für jedes Element des Arrays ausgeführt ohne dem ersten
    {
        $arr[$i] = 'AND ' . $arr[$i];
    }
}
Gruß, Philipp
Zuletzt geändert von PhilippK am 18.07.2003 22:46, insgesamt 1-mal geändert.
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

Beitrag von KoSSo »

Danke dir Philipp es funzt aber eine frage habe ich noch wie kann ich danach den kompletten array inhalt wieder nebeneinander ausgeben lassen so:

Code: Alles auswählen

AND EDO 02 AND EDO 03 AND EDO 04 AND EDO 05
angefangen bei $arr[1] (also das erste element soll nicht mit ausgegeben werden)?

Grüße KoSSo
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

$gesamt = ""
for($i=1; $i<sizeof($arr); $i++)
{
    $gesamt .= $arr[$i];
}
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Pyramide hat geschrieben:

Code: Alles auswählen

$gesamt = ""
for($i=1; $i<sizeof($arr); $i++)
{
    $gesamt .= $arr[$i];
}
Kleine Korrektur:

Code: Alles auswählen

$gesamt = '';
for($i=1; $i<sizeof($arr); $i++)
{
    $gesamt .= ($gesamt == '') ? $arr[$i] : (' ' . $arr[$i]);
}
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

Beitrag von KoSSo »

Danke euch beiden nu klappts einwandfrei :)

Grüße KoSSo
Antworten

Zurück zu „Coding & Technik“