Változó változók

Néha kényelmes változó változók használata. Ez egy olyan változó, aminek a nevét dinamikusan lehet beállítani. Egy normál változót így állítunk be:


$a = "hello";

    

Egy változó változó veszi egy változó értékét, és egy másik változó értékének tekinti. A fenti példában a hello, egy változó neveként használható, ha $a elé még egy $-t teszünk


$$a = "world";

    

Ezen a ponton már két változó van a PHP szimbólumtáblájában: $a, melynek tartalma "hello", és $hello, aminek a tartalma "világ". Ennélfogva a következő kódsor:


echo "$a ${$a}";

    

pontosan ugyanazt csinálja, mintha azt írtuk volna, hogy:


echo "$a $hello";

    

Azaz mindkettő azt írja ki, hogy: hello világ.

Annak érdekében, hogy változó változókat tömbként használjuk, fel kell oldanunk egy kétértelműséget. Ez pedig az, hogy ha azt írjuk, hogy $$a[1], akkor kellene tudni a szkriptnek, hogy mi most $a[1]-et, mint változót szeretnénk használni, vagy $$a-t, mint változót szeretnénk, és az ő [1]-es indexét használni. Ezért az első szintaxisa: ${$a[1]} és a másodiké: ${$a}[1].