Estructuras de control – Condicionales

Los condicionales son las estructuras de control de flujo más simples que podemos encontrar en un lenguaje de programación moderno. Como usted sabe se basan en secuencias del tipo:

if (condición){
// bloque de código que se ejecuta si se cumple la condición.
} else {
// bloque de código que se ejecuta en caso contrario.
}

También podemos encontrar condicionales que evalúen múltiples condiciones, mediante el uso de elseif().

if (condición 1){
//bloque de código que se ejecuta si se cumple la condición 1.
} elseif (condición 2) {
//bloque de código que se ejecuta si se cumple la condición 2.
} elseif (condición 3) {
//bloque de código que se ejecuta si se cumple la condición 3.
} elseif (condición 4) {
//bloque de código que se ejecuta si se cumple la condición 4.
} elseif (condición 5) {
//bloque de código que se ejecuta si se cumple la condición 5.
} else {
/* bloque de código que se ejecuta si no se ha cumplido ninguna de las condiciones anteriormente evaluadas y, por lo tanto, no se ha ejecutado ninguno de los bloques de código especificados. */
}

Aunque en este ejemplo hemos evaluado cinco condiciones, se pueden crear estas estructuras para el número de condiciones que sea necesario. Por cierto, ya hemos mencionado que no se pueden incluir espacios en blanco en las palabras clave, como es lógico. El caso de elseif() es la única excepción a esta regla, pudiendo escribirse como else if(). Su comportamiento será idéntico. El uso de condicionales basados en elseif() puede, en algunos casos, sustituirse por estructuras basadas en switch(), como aparece a continuación.

switch ($variable) {
case (valor_1):
// bloque de código que se ejecuta si $variable contiene el valor valor_1;
break;
case (valor_2):
// bloque de código que se ejecuta si $variable contiene el valor valor_2;
break;
case (valor_3):
// bloque de código que se ejecuta si $variable contiene el varlor valor_3;
break;
case (valor_n):
// bloque de código que se ejecuta si $variable contiene el valor valor_n;
break;
default:
// bloque de código que se ejecuta si $variable tiene un valor no especificado en las condiciones anteriores.
break;
}

Fíjese en dos aspectos importantes: en primer lugar, hemos dicho que la estructura switch() puede sustituir a elseif() «en algunos casos». Mediante el uso de if() o elseif() pueden evaluarse, como usted sabe, condiciones tan complejas como sea necesario, mientras que switch() sólo evalúa una variable y la compara con un número de posibles valores discretos. En ese sentido, es un condicional mucho más rígido que el anterior; por otra parte, observe que cada posible caso que se evalúa con una estructura switch() debe terminarse siempre con la instrucción break, que impide que se ejecuten bloques correspondientes a otros valores de la variable evaluada.

Comparte