PHP kézikönyv
Előző | 12. Fejezet. Változók | Következő

# Változó változók

Néha kényelmes változó változók használata. Ez olyan változó jelent, amelynek a nevét dinamikusan lehet beállítani. A normál változót így adunk értéket:

`<?php $a = 'hello'; ?>`

A változó változó veszi egy változó értékét, amelyet egy másik változó értékének tekinti. A fenti példában a hello, egy változó neveként használható, a $a elé még egy $-t írva.

`<?php $$a = 'világ'; ?>`

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

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

pontosan ugyanazt csinálja, mintha ezt írtuk volna:

`<?php echo "$a $hello"; ?>`

Mindkettő kiírja, hogy: `hello világ`.

Annak érdekében, hogy változó változókat tömbökkel együtt is használhassuk, fel kell oldani a következő kétértelműséget. A $$a[1] kifejezés kiértékelésekor a feldolgozónak tudnia kell, hogy ez a $a[1] értékét tekintse a hivatkozott változó neveként, vagy $$a-t - és ekkor és ennek a tömbnek 1. indexű elemére történt a hivatkozás. Az első esetben ${$a[1]}, míg a másodikban ${$a}[1] írandó.

Figyelem
Jó, ha észben tartod, hogy változó változókat nem használhatsz a PHP szuperglobális tömbjeivel függvényekben és osztályeljárásokban.

Előző | Tartalom | Következő
Változók hatásköre | Fel | Változók a PHP-n kívülről