Condicionales en PHP: La declaración Switch

Este post continúa con el post de los condicionales en PHP. Este tutorial explica el funcionamiento de la declaración switch y de sus componentes.

Una declaración switch se usa en caso de que el resultado de una variable pueda tener múltiples valores, y según dicho valor, se ejecute una función diferente. En una situación similar, con declaraciones if y elseif, daría lugar un código largo y engorroso.

Para el ejemplo, supongamos que tenemos el inventario de un supermercado, y según el número o string que introduzcamos se sacará una categoría u otra.

La declaración switch va seguido de la variable $categoria dentro de un paréntesis. El valor que está dentro del parenterésis recorre los diferentes case para comprobar coincidencias. En caso de haber una coincidencia se ejecuta el código que tiene a continuación.

A diferencia de una declaración if, no se usan corchetes para los comandos case. Cada comando case comienza con 2 puntos y termina con la declaración break.

El comando break

Cuando una de las condiciones del case se cumplen se ejecuta el código dentro de ellas y se termina con el comando break. Este comando indica a PHP salir del switch y seguir ejecutando el resto del código.

En caso de no poner un break, las siguientes condiciones case se ejecutarían hasta encontrar un comando break. Esto no quiere decir que sea obligatorio usarlo de hecho, se usa en programación avanzada, pero está bien saberlo. Por ejemplo, supongamos que no pongo break a partir del segundo case

Cumpliendo el segundo case, se ejecutarían los siguientes.

declaración switch break php

Ejemplo de swtich sin break

 

La acción Default

Siempre puede darse la posibilidad de que ninguna de las condiciones se cumpla. Por consiguiente, existe el comando default, que ejecuta el código en caso de que ninguno de los case se cumpla.

Sintáxis alternativa

Una declaración swtich puede remplazar el primer corchete por 2 puntos y el corchete final por el comando endswitch. Sin embargo, esta sintáxis no es muy usada.

Y aquí finaliza el post de hoy, espero que os haya gustado. A seguir picando 🙂