A veces es conveniente tener nombres de variables variables.
Dicho de otro modo, son nombres de variables que se pueden establecer
y usar dinámicamente. Una variable normal se establece con una
sentencia como:
Una variable variable toma el valor de una variable y lo trata como
el nombre de una variable. En el ejemplo anterior,
hello, se puede usar como el nombre de una variable
utilizando dos signos de dólar. p.ej.
En este momento se han definido y almacenado dos variables en el
árbol de símbolos de PHP: $a, que contiene "hello", y $hello, que
contiene "world". Es más, esta sentencia:
produce el mismo resultado que:
p.ej. ambas producen el resultado: hello world.
Para usar variables variables con arrays, hay que resolver
un problema de ambigüedad. Si se escribe $$a[1] el intérprete
necesita saber si nos referimos a utilizar $a[1] como una variable,
o si se pretendía utilizar $$a como variable y el índice [1] como índice
de dicha variable. La sintaxis para resolver esta ambiguedad es:
${$a[1]} para el primer caso y ${$a}[1] para el segundo.