Estructuras de control switch en PHP

Bienvenido a una nueva lección de nuestro curso básico de PHP 8. Hoy vamos a meternos con la estructura de control switch, una herramienta súper práctica para comparar una variable y elegir qué hacer según su valor. Si ya manejas if-else, esto te va a parecer un atajo elegante. Todo va a ser claro, útil y con ejemplos que te van a encantar. ¡Empecemos! 

¿Qué es la estructura switch? 

La estructura switch es como un menú de opciones: tomas una variable, la comparas con varios valores posibles y ejecutas el bloque de código que corresponde al que encaja. Es una forma más ordenada y rápida de manejar múltiples casos, en lugar de escribir un montón de if y elseif. Imagina que es un guardia que dice: «¿Qué tienes? Ok, ve por este camino». 

Aquí va la receta básica

switch ($variable) { 

    case valor1: 
        // Código si $variable es valor1
        break; 
    case valor2: 
        // Código si $variable es valor2 
        break; 
    default: 
        // Código si no encaja con nada 
        break; 

} 
  • case: Cada opción que comparas. 
  • break: Le dice a PHP «para aquí, no sigas revisando». 
  • default: El plan B si no hay coincidencias. 

Probando la estructura switch 

¡Manos a la obra! Crea un archivo switch.php en curso_php8 (dentro de C:\xampp\htdocs) y prueba esto: 

Ejemplo 1: Números con switch 

<?php 

    $i = 3; 
    switch ($i) { 
        case 1: 
            echo "i es igual a 1"; 
            break; 
        case 2: 
            echo "i es igual a 2"; 
            break; 
        case 3: 
            echo "i es igual a 3"; 
            break; 
        case 4: 
            echo "i es igual a 4"; 
            break; 
    } 
?> 

Abre `http://localhost/curso_php8/switch.php`. Verás:   

i es igual a 3 

¿Qué pasó?  

  • $i es 3, así que switch busca el case 3 y ejecuta su código. 
  • break evita que siga revisando los demás casos. 
  • Si cambias $i a 5, no pasa nada porque no hay un case 5. 

Ejemplo 2: Frutas con default 

Añade esto al archivo: 

<?php 

    $fruta = "Manzana"; 
    switch ($fruta) { 
        case "Uva": 
            echo "La fruta seleccionada es uva"; 
            break; 
        case "Manzana": 
            echo "La fruta seleccionada es manzana"; 
            break; 
        case "Naranja": 
            echo "La fruta seleccionada es naranja"; 
            break; 
        default: 
            echo "No existe la fruta seleccionada"; 
            break; 
    } 
?> 

Resultado:  

La fruta seleccionada es manzana 


¿Cómo funciona?  

  • $fruta es «Manzana», así que va directo al case «Manzana». 
  • Si pones $fruta = «Piña», cae en default porque no hay un caso para «Piña». 

Ejemplos prácticos:

Ejemplo 1: Día de la semana 

<?php 

    $dia = 2; 
    switch ($dia) { 
        case 1: 
            echo "Lunes, ¡a empezar la semana!"; 
            break; 
        case 2: 
            echo "Martes, ¡ya casi es mitad de semana!"; 
            break; 
        case 3: 
            echo "Miércoles, ¡ánimo!"; 
            break; 
        default: 
            echo "Ese día no lo tengo en mi radar."; 
            break; 
    } 
?> 

Resultado:  

Martes, ¡ya casi es mitad de semana!  

Ejemplo 2: Calificando con estilo

<?php 

    $nota = 85; 
    switch (true) { 
        case $nota > 90: 
            echo "¡Excelencia pura!"; 
            break; 
        case $nota > 80: 
            echo "Muy bien, ¡qué crack!"; 
            break; 
        case $nota > 70: 
            echo "Bien, ¡sigue así!"; 
            break; 
        default: 
            echo "Regular o reprobado, ¡a practicar más!"; 
            break; 
    } 
?> 

Ejercicios para practicar 

¡Tu turno de rockearlo! Ve a curso_php8 y prueba estos retos: 

  1. Categoriza una nota 
  2. Crea nota.php:
<?php 
    $calificacion = 75; 
    switch (true) { 
        case $calificacion > 90: 
            echo "Excedencia con $calificacion, ¡eres una estrella!"; 
            break; 
        case $calificacion > 80: 
            echo "Muy bien con $calificacion, ¡genial!"; 
            break; 
        case $calificacion > 70: 
            echo "Bien con $calificacion, ¡sigue así!"; 
            break; 
        case $calificacion > 51: 
            echo "Regular con $calificacion, puedes mejorar."; 
            break; 
        default: 
            echo "Reprobado con $calificacion, ¡a estudiar!"; 
            break; 
    } 
?>
  1. Día de la semana 

Crea dia.php:  

<?php 
    $numero = 4; 
    switch ($numero) { 
        case 1: 
            echo "Lunes"; 
            break; 
        case 2: 
            echo "Martes"; 
            break; 
        case 3: 
            echo "Miércoles"; 
            break; 
        case 4: 
            echo "Jueves"; 
            break; 
        case 5: 
            echo "Viernes"; 
            break; 
        case 6: 
            echo "Sábado"; 
            break; 
        case 7: 
            echo "Domingo"; 
            break; 
        default: 
            echo "Número inválido"; 
            break; 
    } 
?> 

Ejecuta en localhost/curso_php8/ y juega con los valores. 

Consejos para no enredarte 

  • break es clave: Sin él, PHP sigue ejecutando los casos siguientes (¡cuidado con eso!). 
  • default al rescate: Úsalo siempre como red de seguridad para casos inesperados. 
  • Orden lógico: Si usas switch (true) con condiciones, ponlas de mayor a menor para que evalúe bien. 

¡A por más control! 

¡Gran trabajo, máquina! Ahora la estructura switch es tu aliada para tomar decisiones de forma limpia y ordenada. En la próxima lección, veremos funciones para organizar tu código como pro. Si algo no te queda claro, déjame un comentario o revisa el código en GitHub. 

Lo que aprendiste hoy: 

  • Qué es switch: Una forma elegante de comparar una variable con muchas opciones. 
  • Cómo se usa: Con case para cada caso, break para parar y default por si acaso. 
  • Ejemplos vivos: Checaste números y frutas como todo un detective. 
  • Practicaste: Clasificaste notas y días como experto. 
  • Tip del pro: No olvides break o tu código se volverá loco. 
Scroll al inicio