2010-02-10 10 views

Respuesta

33
default: 
     do stuff; 
break; 

Normalmente la cláusula default debe haber al final de sus otras case cláusulas para facilitar la lectura en general.

También puede volver a formatear el break declaraciones en el código para tener este aspecto:

switch ($var){ 
    case "x": // if $var == "x" 
     do stuff; 
     break; 
    case "y": // if $var == "y" 
     do stuff; 
     break; 
    default: // if $var != "x" && != "y" 
     do stuff; 
     break; 
} 

información adicional sobre la declaración switch disponibles here y here.

+0

+1 Corto y dulce! – AntonioCS

3

Como dijo Dan pero en forma completa si ayuda ...

switch ($var) { 
    case "x": 
     // do stuff 
     break; 
    case "y": 
     // do stuff 
     break; 
    default: 
     // do "else" stuff... 
} 
+1

NB no se requiere cláusula de interrupción en el caso final, ya sea "predeterminado" o "caso" ... – Simon

+1

, pero es una buena práctica poner siempre un "corte" si su intención no es la de caerse. –

1

Como los otros decían. No es sin embargo que por defecto también puede estar al principio o en algún lugar en el medio salvaje:

switch (foo) { 
case 0: break; 
default: break; 
case 1: break; 
}; 

Seguramente usted no debe hacer esto si no se justifica.

+0

Si coloca el valor predeterminado en cualquier lugar que no sea el inferior, se ignorará cualquier caso que se encuentre debajo. – Simon

+0

@Simon: ¿Por qué piensas eso y no te pruebas? Esto es lo que dice la norma: 6.4.2/5 [stmt.switch] "Cuando se ejecuta la instrucción switch, su condición se evalúa y se compara con cada constante de caso. [...] Si ninguna constante de caso coincide con la condición, y si hay una etiqueta predeterminada, el control pasa a la declaración etiquetada por la etiqueta predeterminada ". –

+0

@Simon: Mi error, por algún rason que estaba asumiendo C. Pero es PHP, parece ser el mismo: http://de.php.net/manual/es/control-structures.switch.php#87959 –

Cuestiones relacionadas