Heute bin ich über folgende Problemstellung gestoßen: Eine gegebene Funktion gibt eine Reihe von Variablen zurück, die einen fortlaufenden Zähler im Namen haben. Der Anfang des Variablennamens ist immer gleich, nur der letzte Teil ist dynamisch. Wie kann man nun die Variablen bearbeiten, ohne alle möglichen Namenskombinationen statisch abzufragen?
Ein dynamischer Variablenname setzt sich also aus mindestens einem variablen Teil zusammen und Bedarf deswegen in PHP besonderer Beachtung. Mit der normalen Variablendeklaration:
$variable = “inhalt”;
kommt man hier nicht weiter. Aber in PHP sind dynamische Variablennamen auch kein Problem. Mit folgender Syntax:
${variable.$dynamisch} = “inhalt”;
Kann der Variablenname dynamisch zusammengesetzt werden.
Eigentlich recht simpel und mir bis heute unbekannt.
Herzlichen Dank für diesen Beitrag. Hat mir gerade sehr weitergeholfen. Kannte bisher nur die Variante $$variablenname=”inhalt”;
Die versagt aber natürlich sobald man dynamische und konstante Namensbestandteile mischen muß.
Gruß und frohe Ostern,
Markus
Mensch, da ärrgert man sich seit Jahren rum, baut die größten Redundanzen ein und dann sowas.
Ich danke Dir sehr herzlich.
Klasse!
Genau das habe ich gesucht!!!
Vielen Dank dafür
super! das hab ich gesucht!
Na Mann! Klasse. Da hab ich ich weiss nicht wielange schon nach gesucht. Tolle Seite. Weiter so.
Jedesmal wieder muss ich nachsehen wenn ich ein paar Wochen lang nichts damit gemacht hab …
und jedesmal verschlägt mich mein Suchbegriff im Google hier her :)
thx
Super, danke!!!
In der einschlägigen Literatur sucht man sich nach sowas die Finger wund und findet doch nur nichts.
Vielen Dank hierfür, über Google gefunden, wird mir sicherlich mal weiterhelfen!
Marco.
Danke sehr für diesen Tipp.
Das hat mir etliche Code-Zeilen erspart :)
Klasse Sache. Habe den Eintrag über Google gefunden! Danke für die Arbeit.
Super!!! Das haben wir gesucht.Danke
Eintrag in g***** dynamische variablename+php und schwups kam das Ergebnis :)
Script ist jetzt um 1/4 geschrumpft xD
Danke, genau das habe ich gescht! Klasse!
Wunderbar!
vielen dank! genau das was ich brauche ^^
Merci!!
Was andere mit seitenlangen Erklärungen nicht rüberbringen können, wird hier kurz und knapp perfekt beschrieben.
Hat mir extrem weitergeholfen.
Danke!
Vielen Dank für diesen Beitrag!
Sehr hilfreich!
Wie viele Stunden mich dieses Problem schon gekostet hat…
ich bin dir so unendlich dankbar für diese Erleuchtung :)
Danke für diesen Beitrag, hat mir weiteres Suchen erspart :)
Hallo,
erstmal klasser Beitrag !
Funktioniert aber nicht mit Objectreferenzen:
${obj_Sonderangebot->beschreibung.$_SESSION['ses_sprache']};
Folgender Fehler wird ausgegeben:
unexpected T_OBJECT_OPERATOR
Vielleicht überseh ich aber auch was ;-)
Grüße
@Holger: Dir fehlt ein $ vor dem obj_Sonderangebot
@all: ever heard of arrays? :O
Klasse gemacht! Vielen Dank für den Beitrag. Geht das gleiche auch in JAVA (wie auch immer) ?
LG Emil
Das hört sich echt super an, aber leider hab ich das noch nicht mit ner Session variable geschafft.
Das soll ungefähr so aussehen $_SESSION['$contentFromDB'] = $nochmehr content.
Mit dem Code unten funktioniert das aber irgendwie nicht. Könnt ihr mir helfen?
${_SESSION[.$fetch['id'].]}=$fetch['mehr'];
$new_var = ${text1.$dynvar.text2}; ==> funktioniert bei mir nicht…
Fehlertyp: Use of undefined constant text1 – assumed ‘text1′
so gehts dann:
$dynvar = “hallo”;
$new_var = ${“text1″.$dynvar.”text2″};
so nimmt dann $new_var den Inhalt der Variablen $text1hallotext2 an,sofern diese existiert.
Danke für diesen Tipp =)
Hat mir sehr geholfen =)
$menge = ${‘_POST["sent_menge'.$test.'"]‘}; ==> funktioniert bei mir nicht…
$test ist eine Zählvariable und das ganze ist in einer Schleife eingebaut.
Ich bekomme keine Fehlermeldung, aber auche keine Inhalte. Über phpinfo()
kann ich sie aber sehen!
Kann mir jemand helfen!!!???