Foros del Web » Programando para Internet » PHP »

Anular switch una vez el caso se ha dado

Estas en el tema de Anular switch una vez el caso se ha dado en el foro de PHP en Foros del Web. hola. tengo una sentencia "switch" y kisiera que si se ha dado algún caso de los posibles, que ya no hiciera nada más. como se ...
  #1 (permalink)  
Antiguo 23/01/2006, 05:43
 
Fecha de Ingreso: enero-2006
Mensajes: 143
Antigüedad: 18 años, 3 meses
Puntos: 0
Anular switch una vez el caso se ha dado

hola.
tengo una sentencia "switch" y kisiera que si se ha dado algún caso de los posibles, que ya no hiciera nada más. como se puede hacer?
  #2 (permalink)  
Antiguo 23/01/2006, 05:49
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
Utiliza "break":

Código PHP:
switch ($tu_variable) {
     case 
0: {
           ..... 
//Tu codigo
           
break;
           }
     case 
1: {
           ..... 
//Tu codigo
           
break;
           }
     .....
     } 
Saludos
__________________
¿Se me entiende la letra?
  #3 (permalink)  
Antiguo 23/01/2006, 09:37
 
Fecha de Ingreso: enero-2006
Mensajes: 143
Antigüedad: 18 años, 3 meses
Puntos: 0
pero si hago eso, y en otro momento dado se realiza otro "case", cargará mi código y yo lo que necesito es que una vez usado el switch, no vuelva a servir
  #4 (permalink)  
Antiguo 23/01/2006, 12:32
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Cita:
Iniciado por Garto-la
pero si hago eso, y en otro momento dado se realiza otro "case", cargará mi código y yo lo que necesito es que una vez usado el switch, no vuelva a servir
Según lo que se entiende la respuesta de JorgitoAlfajor es la correcta, pero hay 2 opciones.

1º) No entendiste la respuesta o estas muy enredado.
2º) Nosotros no entendemos lo que pretendes. Si podrías ser mas claro y tal vez también con un poco de código se te entenderá mas y encontraremos una respuesta.

Saludos.
  #5 (permalink)  
Antiguo 23/01/2006, 13:04
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
No sé si es eso lo que buscás, pero si lo que querés es que TODO el switch se ejecute sólo una vez podrías hacer algo así:

Código PHP:

$ejecutar_switch 
true;


if (
$ejecutar_switch == true) {
    
$ejecutar_switch false
    switch(
$variable) {
        case 
1:
            
// hacer algo
            
break;
        case 
2:
            
// hacer otra cosa
            
break;
        default:
            
// opcíón por defecto
            
break;
    }

Antes de entrar al switch se fija si el valor de $ejecutar_switch es true. La primera vez que llegues a este punto, va a ser así. Pero al entrar, "bloquea" el switch al pasar $ejecutar_switch a false. No va a volver a entrar (a menos que cambies nuevamente este valor).

Un ejemplo con un while (pero sería más o menos lo mismo si suás una función a la que podrías llamar desde distintos lugares; lo único es que $ejecutar_switch tiene que estar declarado fuera de la función o del switch):
Código:
$ejecutar_switch = true;
$i = 0;
while ($i<2) {
	if ($ejecutar_switch == true) {
		$ejecutar_switch = false; // va a entrar sólo una vez; 
		echo "test, dentro del switch";
		switch($variable) {
			case 1:
				// hacer algo
				break;
			case 2:
				// hacer otra cosa
				break;
			default:
				// opcíón por defecto
				break;
		}
	}
	$i++;
}
Suerte

Última edición por califa010; 23/01/2006 a las 17:30
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 13:57.