English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avanzado PHP

PHP & MySQL

Manual de Referencia PHP

Instrucción Switch…Case de PHP

En este tutorial, aprenderás a usar switch-La instrucción case se utiliza para probar o evaluar expresiones con diferentes valores en PHP.

PHP If…Else Vs Switch…Case

switch-La instrucción case es similar a if-elseif-Una alternativa a la instrucción else, que realiza prácticamente la misma operación. switch-La instrucción case prueba una serie de valores en una variable hasta encontrar una coincidencia y luego ejecuta el bloque de código correspondiente a esa coincidencia.

switch(n){
    case label1:
        // Código a ejecutar cuando n = label1
        break;
    case label2:
        // Código a ejecutar cuando n = label2
        break;
    ...
    default:
        // Código a ejecutar cuando n no coincide con todas las etiquetas
}

Ve el siguiente ejemplo, que muestra un mensaje diferente cada día.

<?php
$today = date("D");
switch($today){
    case "Mon":
        echo "Hoy es lunes. Limpia tu casa.";
        break;
    case "Tue":
        echo "Hoy es martes. Compra algo de comida.";
        break;
    case "Wed":
        echo "Hoy es miércoles. Ve al médico.";
        break;
    case "Thu":
        echo "Hoy es jueves. Arregla tu coche.";
        break;
    case "Fri":
        echo "Hoy es viernes. Organiza una fiesta tonight.";
        break;
    case "Sat":
        echo "Hoy es sábado. Es hora de ver una película.";
        break;
    case "Sun":
        echo "Hoy es domingo. Descansa un poco.";
        break;
    default:
        echo "No hay información disponible hoy.";
        break;
}
?>
Prueba y observa‹/›

switch-Instrucción case en comparación con if-elseif-La diferencia entre la instrucción else y la instrucción switch radica en un aspecto importante. La instrucción switch ejecuta línea por línea (es decir, instrucción por instrucción), y una vez que PHP encuentra una expresión de condición que es verdadera en una instrucción case, no solo ejecuta el código correspondiente a la instrucción case, sino que también ejecuta todas las instrucciones case posteriores hasta que se alcance el final del bloque. El bloque switch cambia automáticamente.

Para evitar este problema, agrega una instrucción break al final de cada bloque case. La instrucción break le indica a PHP que salga del switch una vez que se haya ejecutado el código correspondiente al primer caso verdadero.-Bloque de instrucciones case.