Nombres de variables dinámicos en PHP



Como seguro que ya sabéis, PHP puede generar arrays que almacenen varios valores bajo el mismo nombre de variable, de tal manera que podamos llamar a un valor concreto conocida su posición:


<?php

$mivariable = array("foo", "bar", "hello", "world");

var_dump($mivariable );

?>

Pero si eso no nos sirve, y lo que queremos es que el nombre mismo de la variable vaya cambiado cada vez, podemos recurrir a lo siguiente:


${"mivariable" . $i}

Esto posibilita crear cualquier bucle o iteración que de como resultado algo como:

$mivariable1$mivariable2$mivariable3$mivariable4

 

Un ejemplo de un bucle para cambiar el nombre de la variable iterando y asignando un valor distinto a cada una de ellas sería:


$i = 0;

while(*La condición que queráis*) {

$i++;

${"miraviable" . $i} = "El valor que quiera";

}

 

Otra forma de conseguir lo mismo es con $$mivariable.

El doble símbolo del dólar nos permite crear una variable cuyo nombre será el contenido de otra. Por ejemplo:


//Creo una variable y le asigno el valor 'hola'

$a = 'hola';



//Creo una segunda variable poniéndole el doble $$. Eso hará que se llame con el contenido de la primera, 'hola', pero tenga el contenido que le asignemos.

$$a = 'mundo';



//Esto imprime 'hola mundo'

echo "$a $hola";


//Pero esto también imprimirá 'hola mundo'

echo "$a ${$a}";

 

Y hasta aquí este pequeño tip. ¿Te ha servido de ayuda? ¡Ayúdanos tú ahora compartiendo este contenido en redes sociales!

Fuente: https://www.loopeando.com/crear-dinamicamente-variables-en-php/


Comenta si te ha servido. 

Comentarios

Lo Más Popular