¿Este foreach es correcto?

  • Autor Autor Usuario eliminado 232346
  • Fecha de inicio Fecha de inicio
U

Usuario eliminado 232346

Hola!, estaba viendo un tutorial en el que un foreach está declarado de la siguiente manera:

PHP:
   foreach ($vars as $key => $value) {
            echo $$key = $value;
 }

Me parecio raro puntutalmente la parte de $$key (doble símbolo de dolar), no sabía que en PHP se utilizaba así, pero funciona.
Pruebo de quitarle uno de los símbolos y NO funciona. Me resulta raro porque en la documentación oficial de PHP no figura nada al respecto.

¿Alguien sabe para que se utiliza esto realmente?.
 
Son denominados variable de variables, o sea, en pocas palabras el valor que tiene value se convierte tambien en variable.

Ejemplo:

PHP:
$prueba = 'hola';
$$prueba = 'mundo';
echo $prueba .' '. $hola; //imprime: hola mundo
//tambien asi
echo $prueba . ' '. ${$prueba}; //imprime: hola mundo
 
Son denominados variable de variables, o sea, en pocas palabras el valor que tiene value se convierte tambien en variable.

Ejemplo:

PHP:
$prueba = 'hola';
$$prueba = 'mundo';
echo $prueba .' '. $hola; //imprime: hola mundo
//tambien asi
echo $prueba . ' '. ${$prueba}; //imprime: hola mundo

Gracias!!!, no sabía que existía eso!!. 😎
No se en que otros casos lo podré utilizar pero está bueno saber que existe.
 
De nada, y para complementar, puedes leerlo en php.net, ahi tambien se encuentra esto.
 
Son denominados variable de variables, o sea, en pocas palabras el valor que tiene value se convierte tambien en variable.

Ejemplo:

PHP:
$prueba = 'hola';
$$prueba = 'mundo';
echo $prueba .' '. $hola; //imprime: hola mundo
//tambien asi
echo $prueba . ' '. ${$prueba}; //imprime: hola mundo
Vale eso es interesante, pero yo que estoy comenzando con php aun no he visto su uso en código real. ¿O es que no suele usarse mucho?
 
Yo al menos no lo utilizo, y asi como dices, tampoco lo veo en otros frameworks que suelo utilizar.
 
¿Cómo se podría realizar el código que cito de ejemplo sin esas dobles variables?
 
Es una buena manera de hacer código ilegible e imposible de mantener....
De hecho me puse a observar la cosa y suele ser un poco confuso, si no dominas bien ese tema puede que te enredes y como mismo mencionaste hace el código ilegible al menos para el que no lo domina. Me imagino que tendrá su forma de uso, pero yo por ejemplo que aún soy novato en la programación no lo he visto.
 
Simplemente debes dejar todo el codigo para ver que hace, y adaptarlo.
 
Atrás
Arriba