Das bedeutet, im Array $array[] steht der Name der Variablen, die eigentlich angesprochen werden soll. Im einfachsten Fall sieht ein Konstrukt mit variablen Variablen so aus: $$v
Dabei enthält $v einen String, der wiederum als Variablenname interpretiert werden soll.
Wenn aber die Variable, die den Variablennamen enthält, selbst wieder ein Arrayelement, eine Objekteigeschaft oder ein ähnlich komplexer Ausdruck ist, muss sie in geschweifte Klammern gefasst werden, damit der Ausdruck eindeutig ist.
Auch Dir vielen Dank für die Hilfe, ohne euch hätte ich noch länger gesucht. Insgesamt war diese variable Variable wohl sogar noch von einem Formular übergeben worden, daher auch der Versionskonflikt.
Der Gebrauch von variablen Variablen ist meistens ein Zeichen für einen schweren Designfehler. Üblicherweise kann man dasselbe mit Arrays oder Objekten sehr viel sauberer lösen.
Gut, dass es nicht mein Script ist ;-)
Derzeit arbeite ich an einem Script, welches auf eine andere PHP Version (5) portiert werden soll und scheinbar hakt es da irgendwo.
PHP5 kennt das Konzept aber unverändert. Wie äußert sich das, dass es "hakt"?
s.o.
Wenn du also sowieso schon an diesem Script rummachen musst, würde ich dir empfehlen, die variablen Variablen auszumisten.
Mal sehen, ob ich die Zeit finde... ;-)
Viele Grüße,
Wolle