Foros del Web » Programando para Internet » PHP »

Rand + Variable > Mostrar otra variable definida

Estas en el tema de Rand + Variable > Mostrar otra variable definida en el foro de PHP en Foros del Web. Gente, Estoy probando lo siguiente, pero no logro que funcione. $var1 = "Juan"; $var2 = "Pablo"; $var3 = "Pedro"; $var4 = "Luis"; $var5 = "Gonza"; ...
  #1 (permalink)  
Antiguo 11/03/2012, 20:44
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 21 años
Puntos: 2
Rand + Variable > Mostrar otra variable definida

Gente,
Estoy probando lo siguiente, pero no logro que funcione.

$var1 = "Juan";
$var2 = "Pablo";
$var3 = "Pedro";
$var4 = "Luis";
$var5 = "Gonza";

$variable = "\$var";
$generador = rand(1,5);
$resultado = $variable . $generador;

// Esto me imprimo, via echo lo siguiente. Ejemplo: $var3

Lo que yo necesito es que $resultado, siendo, por ejemplo $var2 me imprima el valor
de la variable antes definida $var2 (Pablo) y asi con cada una de las generaciones que haga a traves de RAND.

¿Alguno podría decirme dónde esta el error?

Muchas gracias.
  #2 (permalink)  
Antiguo 11/03/2012, 20:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Rand + Variable > Mostrar otra variable definida

Necesitas usar lo que se conoce como variables variables, aunque un array sería lo mejor, pero para que te funcione debes de agregar al final algo así:
Código PHP:
Ver original
  1. echo $$resultado;

Pero repito un array sería lo mejor para lo que quieres.

Saludos.
  #3 (permalink)  
Antiguo 11/03/2012, 20:47
Avatar de xxxivanxxx  
Fecha de Ingreso: julio-2010
Ubicación: /home
Mensajes: 114
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: Rand + Variable > Mostrar otra variable definida

y si pruebas con esto:

Código PHP:
Ver original
  1. eval("\$var".$generador);
  #4 (permalink)  
Antiguo 11/03/2012, 20:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Rand + Variable > Mostrar otra variable definida

No es necesario usar eval() para algo así, aparte de que es más inseguro, es mejor usar la herramienta que te dispone PHP (variables variables) o usar arrays:
Código PHP:
Ver original
  1. $nombres = array(
  2.       "Juan",
  3.       "Pedro",
  4.       "Ajo"
  5. );
  6.  
  7. echo shuffle($nombres)[0]; // Solo en PHP 5.4
  8.  
  9. $rand = shuffle($nombres);
  10. echo $rand[0]; // En PHP 5.3 y menores
  #5 (permalink)  
Antiguo 11/03/2012, 21:01
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 21 años
Puntos: 2
Respuesta: Rand + Variable > Mostrar otra variable definida

Gracias por su dedicacion y tiempo, amigos. Al final, termine optando por el consejo de GatorV.
Saludos!

Etiquetas: rand, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.