PHP Handbuch
Zurück | Kapitel 7. Variablen | Nach vorne

# Variable Variablen

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

`<?php $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:

`<?php $$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

`<?php echo "$a ${$a}"; ?>`

zur genau gleichen Ausgabe führen wie:

    <?php
    echo "$a $Hallo";
    ?>

also zu: `Hallo Welt`.

Wenn Sie variable Variablen mit Arrays verwenden, müssen Sie eine Doppeldeutigkeit 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 Syntax zur Lösung dieser Doppeldeutigkeit: Verwenden Sie im ersten Fall `${$a[1]}` und im zweiten Fall `${$a}[1]`.

Warnung
Bitte beachten Sie, dass variable Variablen nicht bei Superglobalen Arrays verwendet werden können. Das bedeutet, etwas wie `${$_GET}` ist nicht möglich. Wenn Sie nach einer Möglichkeit suchen, die Verfügbarkeit von Superglobalen und den alten `HTTP_*_VARS` zu handhaben, können Sie das mit referenzieren versuchen.

Zurück | Zum Anfang | Nach vorne
Geltungsbereich von Variablen | Nach oben | Variablen ausserhalb von PHP