Bademeister: Zahlen zwischen String ausgeben?

Beitrag lesen

Funktioniert nicht.

$data = "bla 1234 blubb 4637 test 8347";
list($bla $blawert $blubb $blubbwert) = explode(" ", $data);
echo $bla; // bla
echo $blawert; // 1234

Wenn ich z.B. bla 1234 weglasse, ordner er bei bla den blubb wert zu. Wie kriege ich eine richtige Zuordnung hin?

In Deinem obigen Beispiel reagierst Du bei der Speicherung der Werte nicht darauf, welche Bezeichner davor stehen. Das musst Du aber natuerlich irgendwie, wenn nicht immer dieselben da stehen.

Mein Vorschlag: Speichere die Daten nicht in separaten Variablen, die Du "variabel" ansprechen musst, sondern in einem assoziativen Array. Die Schluessel sind die Bezeichner, und die Werte sind die Werte (waerste jetzt nicht drauf gekommen, was ;-)).
Wenn Du erstmal das Array hast, das explode zurueckgibt, dann kannst Du diese Array leicht produzieren, oder?
Achtung uebrigens: list() zu benutzen wird dann problematisch, wenn Du nicht weisst, wie viele Werte das Array auf der rechten Seite hat.

Viele Gruesse
der Bademeister