Variables variables

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 :

 
$a

 
=

 
"

 
hello"

 
;



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 .

 
$$a

 
=

 
"

 
world"

 
;



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 :

 
echo

 
"

 
$a

 
${$a}"

 
;



produce el mismo resultado que :

 
echo

 
"

 
$a

 
$hello"

 
;



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 .