Switch, case & break
Fecha: 27-Feb-2008 | Autor: Marcelo.
Guardado en: Artículos, Códigos
La sentencia switch nos permite comprobar varias condiciones de forma mucho menos compleja que si las trabajaramos con varios elseif, con los cuales a veces puede volverse tedioso…
La sentencia switch tiene la siguiente sintaxis, veámosla con un ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | $mes = 05; switch($mes){ case 01: echo "Enero"; break; case 02: echo "Febrero"; break; case 03: echo "Marzo"; break; case 04: echo "Abril"; break; case 05: echo "Mayo"; break; case 06: echo "Junio"; break; case 07: echo "Julio"; break; case 08: echo "Agosto"; break; case 09: echo "Setiembre"; break; case 10: echo "Octubre"; break; case 11: echo "Noviembre"; break; case 12: echo "Diciembre"; break; } |
En este caso obtendremos Mayo.
Switch entonces funciona de la siguiente manera:
Si el valor de lo introducido entre paréntesis al comienzo del switch, coincide con alguno de los valores de los case, se ejecutarán esas lineas hasta encontrar una sentencia break;
En caso de no encontrar ninguna coincidencia, ejecutará (si la hay) las sentencias dentro de default.
Pongamos un ejemplo que incluya la sentencia default:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $idioma = "espanol"; switch($idioma){ case 'espanol': echo "Hola, como estas?"; break; case 'ingles': echo "Hello, how are you?"; break; case 'portugues': echo "Oi, como vai?"; break; default: echo "Idioma no soportado"; } |
De esta forma recibiremos un saludo en Inglés, Español o Portugués dependiendo de la variable $idioma, pero si $idioma no vale ninguno de los 3 idiomas soportados, ejecuta las sentencias dentro de default.