Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Bucle do-while: opciones correctas, bucle infinito

Estas en el tema de Bucle do-while: opciones correctas, bucle infinito en el foro de PHP en Foros del Web. Hola gente. Tengo el siguiente pedazo de código que aún con las opciones correctas, no termina nunca: Código PHP: $opcion = "" ;          $quien ...
  #1 (permalink)  
Antiguo 18/01/2018, 10:45
 
Fecha de Ingreso: marzo-2010
Ubicación: Buenos Aires
Mensajes: 59
Antigüedad: 14 años, 7 meses
Puntos: 2
Bucle do-while: opciones correctas, bucle infinito

Hola gente.
Tengo el siguiente pedazo de código que aún con las opciones correctas, no termina nunca:

Código PHP:
$opcion="";
        
$quien="";
        do
        {
            echo 
"\n";
            echo 
"¿Entrada o salida? [e/s o 0 para cancelar]: ";
            
$stdin=fopen("php://stdin","r");
            
$opcion=trim(fgetc($stdin));

            if (
$opcion == '0')
            {
                
$error="Se ha cancelado el fichaje.";
                
menu(true$error);
                break;
            }

            echo 
"¿Quién entra?: ";
            
$stdin=fopen("php://stdin","r");
            
$quien=trim(fgetc($stdin));

            
var_dump($opcion);
            
var_dump($quien);

        } while ((
$opcion != "e") or ($opcion != "s") or !array_key_exists($quien$personal)); 
La cancelación se realiza correctamente.

Es parte de un script de PHP-CLI en Linux.

Gracias de antemano!

Última edición por 7sistemas; 18/01/2018 a las 10:47 Razón: Añadí la aclaración "La cancelación..."
  #2 (permalink)  
Antiguo 18/01/2018, 10:56
 
Fecha de Ingreso: marzo-2010
Ubicación: Buenos Aires
Mensajes: 59
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Bucle do-while: opciones correctas, bucle infinito

Ya lo resolví. Después de un buen descanso me di cuenta del error:

Código PHP:
Ver original
  1. } while (($opcion != "e") AND ($opcion != "s") or !array_key_exists($quien, $personal));

Etiquetas: bucle, infinito, opciones
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 11:28.