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:
$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:
$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.





El 27 de Febrero de 2008, Víctor dijo:
Hola Marcelo, ya me he hecho asiduo de tu blog. Solo quería advertirte de que en la línea 3 del segundo ejemplo has tomado la variable del primero. Es una chorrada pero podría confundir a alguien. Gracias de nuevo por tu tiempo, esta web nos ayuda a muchos.
El 27 de Febrero de 2008, jhonn05 dijo:
gracias por esta nueva entrega
de luxe
El 27 de Febrero de 2008, Marcelo dijo:
Gracias Víctor y jhonn05 por sus comentarios!
Y ya está corregido ese problemita derivado de la maldita costumbre del CTRL+C / CTRL+V… nos ahorra tiempo pero a veces nos hace meter la pata ;)
Saludos!