Las variables variables se utilizan cuando queremos tener nombres de variables que puedan usarse y modificarse de forma dinámica. PHP permite su uso de forma directa:

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

Una variable variable toma el valor de una variable y lo usa para el nombre de la variable. Podemos utilizar "hello" como nombre de variable utilizando dos signos de dólar:

php <?php $$a = 'world'; ?>

En este punto tenemos dos variables, $a que contiene "hello" y $hello que contiene "world". Así, las siguientes instrucciones escriben "hello world":

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

En Bash

También podemos conseguir variables variables en Bash:

bash $ a=hello $ b=a $ echo $a ${!b} hello hello

Algunos tipos de shell, como ksh, no aceptan la sintaxis anterior, pero podemos recurrir a eval para conseguir el mismo resultado:

bash $ a=hello $ b=a $ eval echo $a \$$b hello hello

De la misma forma que en el ejemplo en PHP, podemos declarar la variable variable al tiempo que se asignamos un valor:

bash $ a=hello $ eval $a=world $ eval echo $a \$$a hello world


Entradas relacionadas


Published

Category

dev

Tags

Contacto