Variable Variablen

Manchmal ist es erforderlich, variable Variablen-Bezeichner zu benutzen. Das bedeutet, einen Variablen-Namen zu setzen und dynamisch zu gebrauchen. Eine normale Variable wird wie folgt gebildet:


$a = "hallo";
    

Eine variable Variable nimmt den Wert einer Variablen und behandelt ihn als Bezeichner der Variablen. Im obigen Beispiel kann hallo als Variablen-Name gebraucht werden, indem man zwei $-Zeichen benutzt, also schreibt:


$$a = "Welt";
    

Nun existieren in der PHP-Symbol-Struktur zwei definierte und gespeicherte Variablen: $a mit dem Inhalt "Hallo" und $hallo mit dem Inhalt "Welt". Deshalb wird die Anweisung


echo "$a ${$a}";
    

zur gleichen Ausgabe führen wie:


echo "$a $hallo";
    

also zu: hallo Welt.

Wenn sie variable Variablen mit Arrays verwenden, müssen sie eine Unklarheit beachten. Wenn sie nämlich $$a[1] schreiben, dann muss der Parser wissen, ob sie $a[1] als Variable oder $$a als Variable und dann [1] als Index dieser Variablen verwenden wollen bzw. gemeint haben. Die Lösung: Verwenden sie ${$a[1]} für den ersten Fall und ${$a}[1] für den zweiten.