Bueno como dise arriba tengo una pregunta
es posibel hacer esto:
$num = 1;
$hora_$num = valor;
o asi?
$num = 1;
$hora_ echo $num; = valor;
como se puede?
salu2 y gracais de antemano
| |||
$var_$var = valor Bueno como dise arriba tengo una pregunta es posibel hacer esto: $num = 1; $hora_$num = valor; o asi? $num = 1; $hora_ echo $num; = valor; como se puede? salu2 y gracais de antemano |
| ||||
Respuesta: $var_$var = valor Cita: Ah, buenísimo
Iniciado por venkman ![]()
Código:
En general, lee esto.${$hora."_".$num} ![]() ¿Hay algún problema concreto por usar eval? |
| |||
Respuesta: $var_$var = valor Lo adecuado es usar "$$" ejemplo: Código PHP: Código PHP: Última edición por acido69; 02/08/2008 a las 04:07 Razón: amplio |
| ||||
Respuesta: $var_$var = valor gracias acido69 ![]() Entiendo que existiendo una forma concreta de hacerlo lo adecuado es usarla. Sin embargo mantengo mi pregunta. ¿Hay algún problema concreto en usar eval? Más allá de que existe una forma específica de hacerlo sin usar eval. Es que por la forma del comentario... ... parece que si se hace le vaya a explotar a uno el ordenador en la cara. Como si hubiera dicho de hacer un format c:\ ![]() |
| |||
Respuesta: $var_$var = valor el problema de usar Eval, es que en esas variables puedes meter cualquier cosa; es decir: si en esas variables te viene una conexión a mysql, lo ejecutará. no se de donde sacas esas variables; pero aunque creas que las controlas, puede que alguien toque eso y te haga un estropicio muy grande |
| ||||
Respuesta: $var_$var = valor Cita: mmm vale, entiendo que tiene riesgo
Iniciado por acido69 ![]() el problema de usar Eval, es que en esas variables puedes meter cualquier cosa; es decir: si en esas variables te viene una conexión a mysql, lo ejecutará. no se de donde sacas esas variables; pero aunque creas que las controlas, puede que alguien toque eso y te haga un estropicio muy grande ![]() Muchas gracias, acido69, es el tipo de explicación concreta que pedía ![]() |
| |||
Respuesta: $var_$var = valor Ese realmente no es el problema, lo mismo te puede pasar sin usar eval. El problema real es que es poco elegante. Es propenso a dar problemas y promociona una forma de escribir código sucia y confusa. Eval no funciona con funciones variables (el ejemplo $f() de acido69). Eval no se lleva bien con variables globales, o por lo menos no en todas las versiones/plataformas. Eval es lento (del orden de 10-15 veces más lento que la ejecución normal de código). Eval no encuentra llamadas que vayan a código que ha sido ofuscado con Zend Encoder. Los errores que se producen dentro del código pasado a eval son más difíciles de localizar. La lista es larga, pero además es que en este caso es innecesario usar eval(). Si prefieres, tunait, te puedes quedar con esta cita: Cita: "If eval() is the answer, you're almost certainly asking the wrong question." -- Rasmus Lerdorf BDFL of PHP Cita: "Si eval() es la respuesta, casi seguro que estás haciendo la pregunta equivocada." |