Foros del Web » Programando para Internet » PHP »

Problema con el IF de marras

Estas en el tema de Problema con el IF de marras en el foro de PHP en Foros del Web. Código PHP: function  redirect ( $operador ) {       require ( "init.php" );        $contenido =( get_defined_vars ());              foreach( $contenido  as  $valor => $key )      { ...
  #1 (permalink)  
Antiguo 02/09/2003, 19:38
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
Problema con el IF de marras

Código PHP:
function redirect($operador)
{
      require (
"init.php");
      
$contenido=(get_defined_vars());
      
      foreach(
$contenido as $valor=>$key)
     {
       if(
$key.$operador)
       
//a una pagina
       
else 
       
//a otra pagina

     
}      
}  
    
$operador="['nombre']==romeo";
//o podria ser 

$operador="['nombre']!=romeo";
//abria varias comparaciones , en diferentes paginas
//y lo que quisisera es llamando solo a la funcion y definiendo
//la variable que operara la comparacion

redirect($operador); 
obiamente no funciona porque le mando un string al if, lo he probado
con eval() pero tampoco , la verdad es que no entiendo muy bien la
sintaxis del eval(), alguien me podria decir como paso un string
a sintaxis php, para que el if reconozca el string como operador asi me ahoraria escribir toda la funcion cada vez que la necesitara




gracias desde ya
  #2 (permalink)  
Antiguo 03/09/2003, 01:42
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

eval() no devuelve el resultado del codigo. Para solventar esto debes usar una varaible intermedia. Algo asi:
Código PHP:
eval('$temp=('.$key.$operador.');');
if (
$temp) { 
Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 03/09/2003, 05:03
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
Muchas gracias josemi, no se que haria sin ti,

no hiba del todo bien , me daba un error:

Parse error: parse error, unexpected '[' in F:\ayd_01\dia_31\update.php(28) : eval()'d code on line 1

pero con tu sintaxis lo he construido asi y ya me sirve:
Código PHP:
$operador="\$key['nombre']=='romeo'";

eval(
'$temp=('.$operador.');');
       if (
$temp
Me has sido de mucha ayuda otra vez gracias

un saludo
jordi
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 19:19.