Foros del Web » Programando para Internet » PHP »

Nombrar variables dinámicas, ¿se podrá?

Estas en el tema de Nombrar variables dinámicas, ¿se podrá? en el foro de PHP en Foros del Web. Llevo unas cuantas horas intentando lograr el poder definir variables individuales a partir del contenido de un arreglo post, y no he tenido exito. Intenté ...
  #1 (permalink)  
Antiguo 27/02/2009, 19:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años
Puntos: 0
Nombrar variables dinámicas, ¿se podrá?

Llevo unas cuantas horas intentando lograr el poder definir variables individuales a partir del contenido de un arreglo post, y no he tenido exito. Intenté con el extract() y nada. Me refiero a lo siguiente:

Tengo el siguiente arreglo $_POST:

"Nombre" => "Aero",
"Edad" => 18,
"Genero" => "Masculino"

Quiero hacer con un objeto que estoy creando, que el arreglo $_POST sea la base para hacer variables independientes basandose en la llave del arreglo, que dejaría algo como así:

extraervariables($_POST)

y resulta...

$nombre = "Aero";
$edad = 18;
$genero = "Masculino";

Lo más lejos que he llegado es hacerlo con constantes, pero no puedo introducirlas a la base de datos siendo constantes. ¿Como puedo hacer? ¿Alguien sabe si lo que estoy haciendo es posible?

Última edición por AeroCross; 27/02/2009 a las 19:50 Razón: Errores ortográficos.
  #2 (permalink)  
Antiguo 27/02/2009, 19:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Nombrar variables dinámicas, ¿se podrá?

extract() debería funcionar sin problemas, puede que hayas hecho mal algo y por eso no te funcionó.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 27/02/2009, 20:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años
Puntos: 0
Respuesta: Nombrar variables dinámicas, ¿se podrá?

Cita:
Iniciado por David el Grande Ver Mensaje
extract() debería funcionar sin problemas, puede que hayas hecho mal algo y por eso no te funcionó.
Eso es lo que digo yo. Aquí mi código, a ver si estoy fallando en algo.

Código PHP:
    function makePost()
    {
        
extract($_POST);
    } 
De verdad está difícil equivocarse, ¿será porque está dentro de una función?
  #4 (permalink)  
Antiguo 27/02/2009, 20:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Nombrar variables dinámicas, ¿se podrá?

Es que en ese caso las variables serán definidas en el ámbito de la función, por lo que no podrás usarlas fuera de ella.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 27/02/2009, 20:31
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años
Puntos: 0
Respuesta: Nombrar variables dinámicas, ¿se podrá?

Cita:
Iniciado por David el Grande Ver Mensaje
Es que en ese caso las variables serán definidas en el ámbito de la función, por lo que no podrás usarlas fuera de ella.
¿No habrá una especie de Workaround para eso? Probñe el extract un poco depués de postear y funciona fuera de una función.
  #6 (permalink)  
Antiguo 27/02/2009, 20:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Nombrar variables dinámicas, ¿se podrá?

Mi pregunta es... ¿para qué quieres hacer una función aparte (con el extract() adentro) si ya tienes la función extract que cumple con lo que necesitas?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 27/02/2009, 20:47
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años
Puntos: 0
Respuesta: Nombrar variables dinámicas, ¿se podrá?

Cita:
Iniciado por David el Grande Ver Mensaje
Mi pregunta es... ¿para qué quieres hacer una función aparte (con el extract() adentro) si ya tienes la función extract que cumple con lo que necesitas?
Quería aplicarle algunos filtros antes de usar el extract, como un método, pero bueno, creo que podré sobrevivir así =) Gracias!
  #8 (permalink)  
Antiguo 27/02/2009, 20:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Nombrar variables dinámicas, ¿se podrá?

Claro que si te es tan indispensable, podrías hacer algo como:
Código php:
Ver original
  1. function extraer() {
  2.     foreach ($_POST as $key => $value) {
  3.         global $$key;
  4.         $$key = $value;
  5.     }
  6. }
Pero debes tener en cuenta que ese tipo de cosas (al igual que la directiva register_globals (que por cierto está "deprecated")) son un dolor de cabeza y hasta en ciertos casos pueden representar problemas de seguridad.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 23:22.