Las sentencias switch en PHP son una estructura de control que permite ejecutar diferentes bloques de código basados en el valor de una expresión. Es una alternativa a las sentencias if-else cuando se tienen múltiples condiciones que dependen del valor de una sola variable.
Conceptos Clave
- Expresión: La variable o expresión que se evalúa en la sentencia 
switch. - Casos (
case): Cada posible valor de la expresión que se compara con la variable. - Caso por Defecto (
default): El bloque de código que se ejecuta si ninguno de los casos coincide con la expresión. 
Sintaxis
switch (expresión) {
    case valor1:
        // Código a ejecutar si expresión == valor1
        break;
    case valor2:
        // Código a ejecutar si expresión == valor2
        break;
    // Puedes tener tantos casos como necesites
    default:
        // Código a ejecutar si ninguno de los casos coincide
}Ejemplo Práctico
Vamos a ver un ejemplo práctico para entender mejor cómo funciona la sentencia switch.
Ejemplo: Determinar el Día de la Semana
<?php
$dia = 3;
switch ($dia) {
    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 "Día no válido";
}
?>Explicación del Código
- Variable 
$dia: Se define la variable$diacon un valor de3. - Sentencia 
switch: La sentenciaswitchevalúa el valor de$dia. - Casos (
case): Cadacasecompara el valor de$diacon un número del 1 al 7. break: La sentenciabreakdetiene la ejecución delswitchuna vez que se ha encontrado un caso coincidente.- Caso por Defecto (
default): Si$diano coincide con ninguno de los valores especificados, se ejecuta el bloquedefault. 
Ejercicio Práctico
Ejercicio 1: Clasificación de Calificaciones
Escribe un script en PHP que clasifique una calificación numérica en letras (A, B, C, D, F) usando una sentencia switch.
Requisitos:
- Si la calificación es 90 o más, la letra es 'A'.
 - Si la calificación es entre 80 y 89, la letra es 'B'.
 - Si la calificación es entre 70 y 79, la letra es 'C'.
 - Si la calificación es entre 60 y 69, la letra es 'D'.
 - Si la calificación es menos de 60, la letra es 'F'.
 
Solución
<?php
$calificacion = 85;
switch (true) {
    case ($calificacion >= 90):
        echo "A";
        break;
    case ($calificacion >= 80):
        echo "B";
        break;
    case ($calificacion >= 70):
        echo "C";
        break;
    case ($calificacion >= 60):
        echo "D";
        break;
    default:
        echo "F";
}
?>Explicación de la Solución
- Variable 
$calificacion: Se define la variable$calificacioncon un valor de85. - Sentencia 
switchcontrue: Usamosswitch (true)para evaluar expresiones booleanas. - Casos (
case): Cadacaseevalúa si la calificación está dentro de un rango específico. break: La sentenciabreakdetiene la ejecución delswitchuna vez que se ha encontrado un caso coincidente.- Caso por Defecto (
default): Si la calificación no coincide con ninguno de los rangos especificados, se ejecuta el bloquedefault. 
Errores Comunes
- Olvidar el 
break: Si olvidas incluirbreakal final de cada caso, PHP continuará ejecutando los siguientes casos hasta encontrar unbreako el final delswitch. - No usar 
default: Aunque no es obligatorio, es una buena práctica incluir un casodefaultpara manejar valores inesperados. 
Conclusión
Las sentencias switch son una herramienta poderosa para manejar múltiples condiciones basadas en el valor de una expresión. Son especialmente útiles cuando se tienen muchas condiciones que dependen de una sola variable. Asegúrate de usar break para evitar la ejecución no deseada de múltiples casos y considera siempre incluir un caso default para manejar valores no previstos.
Curso de Programación en PHP
Módulo 1: Introducción a PHP
- ¿Qué es PHP?
 - Configuración del Entorno de Desarrollo
 - Tu Primer Script en PHP
 - Sintaxis y Variables en PHP
 - Tipos de Datos en PHP
 
Módulo 2: Estructuras de Control
Módulo 3: Funciones
- Definiendo y Llamando Funciones
 - Parámetros de Función y Valores de Retorno
 - Ámbito de Variables
 - Funciones Anónimas y Closures
 
Módulo 4: Arrays
Módulo 5: Trabajando con Formularios
- Manejo de Datos de Formularios
 - Validación de Formularios
 - Subida de Archivos
 - Seguridad en Formularios
 
Módulo 6: Trabajando con Archivos
- Lectura y Escritura de Archivos
 - Funciones de Manejo de Archivos
 - Permisos de Archivos
 - Funciones de Directorio
 
Módulo 7: Programación Orientada a Objetos (POO)
- Introducción a la POO
 - Clases y Objetos
 - Propiedades y Métodos
 - Herencia
 - Interfaces y Clases Abstractas
 - Traits
 
Módulo 8: Trabajando con Bases de Datos
- Introducción a las Bases de Datos
 - Conectando a una Base de Datos MySQL
 - Realizando Operaciones CRUD
 - Usando PDO para la Interacción con la Base de Datos
 - Seguridad en Bases de Datos
 
Módulo 9: Técnicas Avanzadas de PHP
- Manejo de Errores y Excepciones
 - Sesiones y Cookies
 - Expresiones Regulares
 - Trabajando con JSON y XML
 - PHP y Servicios Web
 
Módulo 10: Frameworks de PHP y Mejores Prácticas
- Introducción a los Frameworks de PHP
 - Empezando con Laravel
 - Arquitectura MVC
 - Mejores Prácticas en el Desarrollo de PHP
 - Pruebas y Depuración
 
