Variables dinámicas con PHP [Ejemplo completo]

Variables dinámicas con PHP. PHP es un lenguaje de programación que nos permite usar nombres de variables dinámicas, ya sea de manera estática o generado mediante un ciclo array. Por lo tanto, podemos nombrar una variable con el valor almacenado en otra variable.

Es decir, una variable PHP contiene el nombre de otra variable. Sin embargo, vamos a suponer que deseamos crear una variable llamada $ciudad con el valor “Barcelona”. Veamos el ejemplo.

$variable = "ciudad";

Esta declaración crea una variable llamada «$variable» que contiene como valor «ciudad». A continuación, podemos declarar la siguiente variable.

$$variable = "Barcelona";

Analizando nos damos cuenta que el signo de dólar adicional ($) al principio del nombre de la variable. Esto indica una (variable variable). Esta declaración crea una nueva variable con el nombre que es el valor de la primera variable $variable, lo que resulta en lo siguiente:

$ciudad = "Barcelona";
//El valor de $variable no cambia.

Variables dinámicas con matrices y bucles PHP

Si deseamos crear variables dinámicamente, podemos hacerlo con la siguiente sintaxis usando el ciclo while:

$link = conectar();
$consulta = mysqli_query($link, "select nombre, alt from fotos where id_producto='$id' ");

$i = 0;
while($filas = mysqli_fetch_array($consulta, MYSQLI_ASSOC)) {
${"foto" . $i} = $filas['nombre'];
${"alt" . $i} = $filas['alt'];
$i++; 
}
desconectar($link);

Si lo ves un poco complicado, también podemos crear dos arrays en donde se puede ir almacenando los datos: Por lo tanto, de esta manera estarías creando variables dinámicamente pero dentro de array.

$link = conectar();
$consulta = mysqli_query($link, "select nombre, alt from fotos where id_producto='$id' ");

$i = 0;
$fotos = [];
$alts = [];
while($filas = mysqli_fetch_array($consulta, MYSQLI_ASSOC)) {
$fotos[$i] = $filas['nombre'];
$alts[$i] = $filas['alt'];
$i++; 
}
desconectar($link);

¿Cómo crear variables dinámicamente dentro de un while?

Podemos hacerlo con la siguiente sintaxis:

${nombre-de-variable}

Veamos un ejemplo:

$consulta2 = mysql_query("select nombre, alt from fotos where id_producto='$id' ");
$filas2 = mysql_fetch_array($consulta2);

$i = 0;
while($filas2 = mysql_fetch_array($consulta2)) {
$i++;
${"foto" . $i} = $filas2['nombre'];
${"alt" . $i} = $filas2['alt'];
}

Por consiguiente, también podrías crear dos arrays donde puedes ir almacenando los nombres y los alt, según el ejemplo.

$consulta2 = mysql_query("select nombre, alt from fotos where id_producto='$id' ");
$filas2 = mysql_fetch_array($consulta2);

$i = 0;
$fotos = [];
$alts = [];
while($filas2 = mysql_fetch_array($consulta2)) {
$i++;
$fotos[$i] = $filas2['nombre'];
$alts[$i] = $filas2['alt'];
}

Por último tambien se podría crear variables dinámicamente con eval() aunque es muy poco recomendable, también se puede con doble signo $$

<?php

$x = 'variable1';
$$x = '2'; // doble signo $ 
echo $variable1;

?>

Conclusión

En este artículo hemos aprendido a crear variables dinámicas usar ciclo WHILE con conexión a base de datos. Además, también podemos crear variables dinámicas con doble signo $$.

Espero que esta breve explicación les ayude en sus proyectos.

Me fascina la programación en diversos lenguajes y mas aún si son sistemas web o páginas web.

Entradas relacionadas

PHP Introducción

PHP Introducción

El código PHP se ejecuta en el servidor. ¿Qué es PHP? PHP es un acrónimo de «PHP: preprocesador de hipertexto» PHP es un lenguaje de secuencias de…

Crear buscador avanzado con PHP y MySQL

Crear buscador avanzado con PHP y MySQL

Crear buscador avanzado con PHP y MySQL. Vamos a crear un tutorial que nos ayudara a crear una funcionalidad de búsqueda avanzada con PHP y MySQL. Por…

Eliminar un elemento de un array en PHP

Eliminar un elemento de un array en PHP

Eliminar un elemento de un array en PHP. Hay diferentes formas de eliminar un elemento de matriz, donde algunas son más útiles que otras, todo depende de…

Cómo recortar texto usando PHP

Cómo recortar texto usando PHP

Cómo recortar texto usando PHP. Si necesitas cortar una cadena de texto o párrafos en PHP estás en el lugar correcto. En este artículo voy a enseñarte…

Convertir formato de fecha en PHP más ejemplos

Convertir formato de fecha en PHP más ejemplos

Convertir formato de fecha en PHP. Si estas tratando de convertir una fecha de yyyy-mm-dd a dd-mm-yyyy, recuerda que en este articulo abordaremos este tema ampliamente hasta…

Diferencias entre Echo y Print en PHP

Diferencias entre Echo y Print en PHP

Diferencias entre Echo y Print. Estas son usadas casi indistintamente para imprimir contenido en pantalla en el lenguaje PHP, por ejemplo, que queremos imprimir una cadena o…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *