Foros del Web » Programando para Internet » PHP »

Problema función eval con el operador ++

Estas en el tema de Problema función eval con el operador ++ en el foro de PHP en Foros del Web. El tema esque si utilizo un operador como por ejemplo "++", "--", "x+1", etc y no funciona, pongo aqui un pequeño codigo de ejemplo, he ...
  #1 (permalink)  
Antiguo 10/01/2008, 10:54
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 18 años, 5 meses
Puntos: 2
Problema función eval con el operador ++

El tema esque si utilizo un operador como por ejemplo "++", "--", "x+1", etc y no funciona, pongo aqui un pequeño codigo de ejemplo, he estado leyendo php.net la función eval pero no veo nada que me pueda ayudar. ¿Es posible?.

Un saludo y muchisimas gracias compañeros.

Código PHP:
$numero 2;
$string 'hola soy el numero $numero++';

eval ( 
"\$string = \"$string\";" );


// Deberia salir "hola soy el numero 3."
echo $string
Salida:
Código:
hola soy el numero 2++
  #2 (permalink)  
Antiguo 10/01/2008, 11:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problema función eval con el operador ++

Para usar el operador ++, debes de usarlo DIRECTO en la variable, no como parte de un string ya que no se evalua como codigo PHP:
Código PHP:
$numero 2;
$numero++;
echo 
$numero
Si lo quieres evaluar con eval debes de hacerlo asi:
Código PHP:
$numero 2;
eval( 
'$numero++;' ); 
Saludos.
  #3 (permalink)  
Antiguo 10/01/2008, 11:33
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: Problema función eval con el operador ++

El problema esque el string me viene desde la DB y no podria hacer lo que dices.

¿Alguna solucion?

Un saludo y gracias!
  #4 (permalink)  
Antiguo 10/01/2008, 11:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problema función eval con el operador ++

La única forma para hacerlo es usar preg_match y checar donde viene la variable, extraerla con expresiones regulares y aumentarle o evaluarla por si sola.

Saludos.
  #5 (permalink)  
Antiguo 10/01/2008, 11:59
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Problema función eval con el operador ++

Para qué traes de la base "$numero++".
Lo que quieres hacer lo puedes hacer sin la función eval si trabajas el contador afuera de la cadena que recuperas de la BD.

Por qué quieres usarlo asi?
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 07:50.