No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Variables... variables?

12/25
Recursos

Aportes 45

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ijiji soy un caballo 🐴

esto es muy interesante, no sabia que se podia hacer genial

Estaba probando algunas cosas y vi que usando variables variables se pueden definir nombres de variables ilegales, por ejemplo:

<?php

$nombre = "123";
/* Esta primera parte tira
PHP Warning:  Undefined variable $123 */
echo $$nombre;
echo "\n";

/* En esta parte se guarda en $123 el valor dado.
Ahora bien si uso $123 eso va a ser un error de sintaxix
pero se puede usar perfectamente $$nombre */
$$nombre = "otroNombre";
$array = [
  $nombre => $$nombre
];
print_r($array);
echo "\n";

Un saludo.
wow, super genial…PHP es genial.

Ijiji soy un caballo

But quisiera ser un michi v’:

Supongamos que estás trabajando con un formulario y recibes datos del usuario, y quieres asignar esos datos a variables en función del nombre del campo: ```php // Datos del formulario simulados $\_POST\['nombre'] = 'Fito'; $\_POST\['edad'] = 30; $\_POST\['profesion'] = 'Desarrollador'; // Procesamiento de datos utilizando variables variables $campos = \['nombre', 'edad', 'profesion']; foreach ($campos as $campo) { // Crear variables variables para asignar valores $$campo = isset($\_POST\[$campo]) ? $\_POST\[$campo] : null; } // Ahora puedes usar las variables directamente echo "Nombre: $nombre, Edad: $edad, Profesión: $profesion"; ``` En este ejemplo, `$campos` es un array que contiene los nombres de los campos que esperas recibir del formulario. Luego, utilizamos un bucle para crear variables variables (`$$campo`) y asignarles los valores correspondientes del array `$_POST`. Esto hace que el código sea más dinámico, ya que puedes ajustar fácilmente los campos sin tener que cambiar manualmente cada asignación de variable.
<?php

$dog = "woof!";
$cat = "meow!";

$horse = "Ijiji soy un caballo  soy un caballo!";

$option = 2;

switch($option){
    case 1:
        $var = "dog";
        break;
    case 2:
        $var = "horse";
        break;
}

echo $$var;
echo "\n";

// Ijiji soy un caballo  soy un caballo!
Imprime: "Ijiji soy un caballo"
Esta sumamente interesante esta caracteristica del lenguaje, pero no logro ver un caso de uso donde precisa usar esta estructura. De hecho, estoy casi seguro que seria una mala practica implementarlo a destajo. 🤔
```js interface Saludable { public function saludar(); } class Persona implements Saludable { public function saludar() { echo "Hola, soy una persona"; } } class Animal implements Saludable { public function saludar() { echo "Hola, soy un animal"; } } $tipo = "Persona"; $saludable = new $tipo(); $saludable->saludar(); // Imprime "Hola, soy una persona" ```interface Saludable { public function saludar(); } class Persona implements Saludable { public function saludar() { echo "Hola, soy una persona"; } } class Animal implements Saludable { public function saludar() { echo "Hola, soy un animal"; } } $tipo = "Persona"; $saludable = new $tipo(); $saludable->saludar(); // Imprime "Hola, soy una persona"

“horse”

![](https://static.platzi.com/media/user_upload/imagen-45a607dc-1152-4d91-9567-b19511c830b1.jpg)
Creo que uno de los beneficios de entender como procesa PHP las variables variables, es poder entender que cuando nuestro código nos devuelve un valor diferente al esperado, podríamos voltear a ver nuestro código y validar si estamos invocando una variable variable. ![](https://static.platzi.com/media/user_upload/imagen-85ddad98-cfaa-4818-858e-298d768b0ab7.jpg)
Ijiji soy un caballo
Ififi soy un caballo 😁

la verdad esta bastante facil el reto, y es: Ijijiji soy un cabaño

Ijiji soy un caballo es la respuesta

<?php

//operalo como una ecuacion para verlo de forma mas didactica 

$name = "perruno";
$age = 11;
$favorite_food = 'comida de perro';

$variable = readline("que variable quieres poner: ");
echo $$variable;

/* **math example**
    $var = readline -> name (asignacion de palabra)
    $var = name  (multiplicacion de signo $ en ambos lados)
    $$var = $name 
    $name = perruno -> answer: perruno */

?>

Ijiji soy un caballo

ya habíamos visto variables variables en el curso básico.

pero no se había explicado como declarar una variable con otra.

$variable = "nombre";
$nombre = "esto es variable variable";

echo $$variable;

el resultado seria el valor de la variable nombre
Ijii soy un 🐎

resultad = Ijiji soy un caballo

Ijiji soy un caballo

Ijiji soy un caballo

ijiji soy un caballo

Jijiji soy un caballo

Ijiji soy un caballo

Ijiji soy un caballo

Me resultó más sencillo si lo veo de la siguiente manera:

$nombre = "Mr. Michi";
$variable = "nombre";
echo $$variable;   //Mr. Michi

Ijiji soy un caballo 😃

El dineros dineros es Ijiji soy un caballo

Ijiji soy un caballo

Ijiji soy un caballo

Ijiji soy un caballo

Recuerdo haber visto esto en otro curso de platzi, lo implementé en mi propio framework pero al leerlo ya ni recordaba como funcionaba jajajja

Ijiji soy un caballo

Resumen de la clase

<?php
/* $variable = "nombre";
$$variable = "MICHI";
echo $nombre; */




echo "\n";

$nombre = "Carlitos";
$edad = "18"   ;
$comida_favorita = "Lasaña" ;

$variable = "nombre";

echo $$variable;

?>

¿Qué son las variables variable?
Simplemente, PHP interpreta la variable que está en donde debería estar el nombre para saber cual es la variable que realmente debe modificar.

 $variable = "nombre";
 $$variable = "Mr. Michi";
 echo $nombre;

 // Mr. Michi

Internamente lo que hace PHP es lo siguiente.

 $variable = "nombre";
 $nombre = "Mr. Michi";
 echo $nombre;

 // Mr. Michi

Por está razón, tenemos que nuestra variable $$variable se llama $nombre y su valor es Mr. Michi

Ijiji soy un caballo

Cuando lo descubres por que siempre te equivocas y pones dos “$$”

Ijiji soy un caballo

Ijiji soy un caballo

Ijiji soy un caballo

Ijiji soy un caballo

Ijiji soy un caballo