[Resuelto] Como mandar a PHP a crear variables con nombres personalizados

Iniciado por danny920825, 30 Junio 2017, 13:29 PM

0 Miembros y 2 Visitantes están viendo este tema.

danny920825

Hola Gente. Mi duda es la siguiente:
Tengo una clase que recibe parametros enviados por post, pero yo quiero que por cada $key del array, me genere una variable con su nombre y que el $value sea el valor de la variable. ¿Es posible hacer esto?
O sea, yo tengo:
Código (php) [Seleccionar]

array (size=6)
 'identificador' => string 'Habitacion_002' (length=14)
 'size' => string 'mediana' (length=7)
 'precio' => string '30' (length=2)
 'estado' => string 'Lista' (length=5)
 'descripcion' => string 'Segunda Habitacion. Mediana con cama matrimonial' (length=48)

Y quiero que el me cree variables automaticas con el nombre:
Código (php) [Seleccionar]

$identificador;
$size;
$precio;
$estado;
$descripcion;

No se si me hago explicar. Es para poder mandar a esas variables a validar bajo diferentes criterios con una clase de validacion que estoy creando. Ayuda por favor
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno

engel lex

no se para que se quisiera hacer eso teniendo un array con dichos valores pero hay algo (que considero muy mala practica) que es la funcion extract que haces justo lo que pides
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ivancea96

Puedes poner:
Código (php) [Seleccionar]
$nombre = 'size';
$$nombre = 'mediana';
$$nombre == $size;


Nunca lo usé, así que te remito a la referencia: http://php.net/manual/es/language.variables.variable.php

Edito: tras el mensaje de engel lex, cabe añadir, que si bien PHP es interpretado y esto se puede hacer, yo lo evitaría a toda costa. Las variables deben ser fácilmente localizables en el código. Algo así podría llevar a errores más complicados de depurr o a código menos legible.

engel lex

Cita de: ivancea96 en 30 Junio 2017, 13:35 PM
Algo así podría llevar a errores más complicados de depurr o a código menos legible.

y a un mega hueco de seguridad
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

danny920825

OK, entonces buscaré otra manera de pasar los datos y validarlos de forma generica. Vere si puedo hacerlo mediante Reflexion Class leyendo los comentarios de cada variable. Gracias por su pronta respuesta como siempre. Ahora mismo marco el tema como resuelto
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno