Estructuras de control IF-ELSE y SWITCH

Las estructuras de control en programación son constructos que permiten modificar el flujo de ejecución de un programa. Estas estructuras influyen en la secuencia de instrucciones, permitiendo que ciertos bloques de código se ejecuten repetidamente, se omitan o se ejecuten bajo ciertas condiciones.

Estructura de control IF en PHP

El condicional if en PHP permite ejecutar un bloque de código si una condición dada es verdadera. La sintaxis básica es la siguiente:

<?php
$edad = 18;

if ($edad >= 18) {
    // Bloque de código si la condición es verdadera
    echo "Eres mayor de edad.";
}
?>

En este ejemplo, el mensaje «Eres mayor de edad» se imprimirá solo si la variable $edad es mayor o igual a 18.

Uso de else y elseif

Para manejar casos en los que la condición del if no es verdadera, se utiliza else. Además, para evaluar múltiples condiciones, se puede utilizar elseif. Aquí hay un ejemplo:

<?php
$nota = 7.5;

if ($nota >= 9) {
    echo "Sobresaliente";
} elseif ($nota >= 7) {
    echo "Notable";
} elseif ($nota >= 5) {
    echo "Suficiente";
} else {
    echo "¡Suspenso!";
}
?>

En este caso, se imprime una calificación según la nota declarada en la variable $nota.

El operador ternario

El operador ternario en PHP es una forma concisa de escribir una estructura condicional en una sola línea. Se utiliza para asignar un valor a una variable o realizar una acción basada en una condición. Su sintaxis es la siguiente:

(condición) ? valor_si_verdadero : valor_si_falso;

Veámoslo con un ejemplo:

<?php
$edad = 25;
$estatus = ($edad >= 18) ? "Adulto" : "Menor de edad";
?>

En este caso, si la variable $edad es mayor o igual a 18, la variable $estatus será «Adulto»; de lo contrario, será «Menor de edad». Sería el equivalente al siguiente bloque de código:

<?php
$edad = 25;
if ($edad >= 18) {
    $estatus = "Adulto";
} else {
    $estatus = "Menor de edad";
}

El operador ternario es útil para expresiones simples y condicionales que deben manejarse de manera concisa. Sin embargo, en casos más complejos, es recomendable utilizar una estructura de control if-else tradicional para mejorar la legibilidad del código.

Anidación de condiciones

Es posible anidar condicionales dentro de otros condicionales para manejar situaciones más complejas. Aquí hay un ejemplo que determina el saludo a utilizar basándose en la hora actual:

<?php
$hora = 14;

if ($hora >= 6 && $hora < 12) { 
    echo "Buenos días."; 
} elseif ($hora >= 12 && $hora < 18) { 
    echo "Buenas tardes."; 
} elseif ($hora >= 18 && $hora < 24) {
    echo "Buenas noches.";
} else {
    echo "Hora no válida.";
}
?>

Este ejemplo saluda al usuario según la hora del día, considerando diferentes rangos horarios.

Estructura de control SWITCH en PHP

En PHP, la estructura de control switch proporciona una manera más limpia y eficiente de manejar múltiples casos que se pueden evaluar de manera similar. Aunque su funcionalidad se asemeja a la estructura if-else, el switch se utiliza específicamente cuando se deben comparar múltiples valores para una misma variable. A continuación, se presenta la sintaxis básica de un switch y se compara con la estructura if-else:

<?php
switch ($variable) {
    case valor1:
        // Código a ejecutar si $variable es igual a valor1
        break;
    case valor2:
        // Código a ejecutar si $variable es igual a valor2
        break;
    // ... Otros casos ...
    default:
        // Código a ejecutar si $variable no coincide con ninguno de los casos
}
?>
  • $variable: La expresión que se evaluará en cada caso.
  • case valorX: Define un caso específico que se comparará con la variable.
  • break: Cada bloque de código dentro de un caso debe finalizar con break para evitar la ejecución de los casos siguientes.
  • default: Se ejecuta si ninguno de los casos coincide con el valor de la variable.

Comparación con if-elseif:

<?php
if ($variable == valor1) {
    // Código a ejecutar si $variable es igual a valor1
} elseif ($variable == valor2) {
    // Código a ejecutar si $variable es igual a valor2
} else {
    // Código a ejecutar si $variable no coincide con ninguno de los casos anteriores
}
?>

Aquí tienes un ejemplo básico del uso de la estructura switch en PHP. En este caso, se evalúa una variable llamada $dia y se proporciona un mensaje correspondiente a cada día de la semana:

<?php
$dia = "Lunes";

switch ($dia) {
    case "Lunes":
        echo "Es el primer día de la semana.";
        break;
    case "Martes":
        echo "Es el segundo día de la semana.";
        break;
    case "Miércoles":
        echo "Es el tercer día de la semana.";
        break;
    case "Jueves":
        echo "Es el cuarto día de la semana.";
        break;
    case "Viernes":
        echo "¡Por fin es viernes!";
        break;
    case "Sábado":
    case "Domingo":
        echo "¡Es fin de semana!";
        break;
    default:
        echo "Día no válido.";
}
?>

En este ejemplo, la variable $dia se compara con diferentes casos. Si coincide con alguno de los casos, se ejecuta el bloque de código correspondiente. Si no hay ninguna coincidencia, se ejecuta el bloque de código dentro del default. Este código imprimirá «¡Por fin es viernes!» para el caso «Viernes», «¡Es fin de semana!» para los casos «Sábado» y «Domingo», y mensajes específicos para los demás días de la semana.

Como habrás podido comprobar, la estructura de control switch en PHP es una herramienta poderosa para simplificar el código cuando hay varias condiciones a evaluar y proporciona una alternativa más legible y estructurada que una serie de declaraciones if-else.