Declaración Switch de PHP

Declaración Switch de PHP

La declaración Switch de PHP nos permite evaluar una expresión y ejecutar diferentes bloques de código dependiendo del valor de la expresión. Esto nos permite tomar decisiones en el código de manera más eficiente y clara, ya que puede ser más fácil de entender que usar una serie de declaraciones if / else.

📋 Aquí podrás encontrar✍
  1. Sintaxis
  2. Ejemplo de uso
  3. Conclusión
  4. Preguntas frecuentes
    1. ¿Puedo tener diferentes valores para un mismo código?
    2. ¿Cómo puedo evitar que se ejecuten múltiples declaraciones case?
    3. ¿Puedo tener una declaración default sin código?
    4. ¿Puedo utilizar la declaración switch con valores no escalares?
  5. Ejemplos de códigos o comandos

Sintaxis

La sintaxis básica de la declaración Switch de PHP es la siguiente:


switch (expresión) {
case valor1:
// Código a ejecutar si la expresión es igual a valor1
break;
case valor2:
// Código a ejecutar si la expresión es igual a valor2
break;
...
default:
// Código a ejecutar si la expresión no es igual a ninguno de los valores anteriores
break;
}

La expresión se evalúa sólo una vez y luego se compara con cada valor en las declaraciones case. Si se encuentra una coincidencia, se ejecuta el código asociado y se finaliza la declaración utilizando el comando break. Si se llega a la declaración default, se ejecutará el código asociado si no se encuentra ninguna coincidencia en los valores case.

Ejemplo de uso

Imaginemos que tenemos una variable que contiene una cadena de texto representando un color, y queremos realizar diferentes acciones dependiendo del valor de dicha variable. Podríamos escribir un código similar al siguiente:


$color = "azul";

switch ($color) {
case "rojo":
echo "El color es rojo.";
break;
case "verde":
echo "El color es verde.";
break;
case "azul":
echo "El color es azul.";
break;
default:
echo "El color no es rojo, verde ni azul.";
break;
}

En este ejemplo, como la variable $color tiene el valor "azul", se ejecutará el código asociado a la segunda declaración case y se imprimirá "El color es azul." en la pantalla.

Conclusión

La declaración Switch de PHP nos permite tomar decisiones de manera más eficiente y clara en nuestro código, ya que evita tener que usar una serie de declaraciones if / else anidadas. Es importante tener en cuenta que sólo se puede usar la declaración Switch con valores escalares (cadenas, enteros, etc.), y que sólo se evalúa la expresión una vez.

Preguntas frecuentes

¿Puedo tener diferentes valores para un mismo código?

Sí, es posible utilizar múltiples valores para una misma declaración case. Por ejemplo:


$dia = "lunes";

switch ($dia) {
case "lunes":
case "martes":
case "miércoles":
case "jueves":
case "viernes":
echo "Hoy es un día laborable.";
break;
case "sábado":
case "domingo":
echo "Hoy es fin de semana.";
break;
default:
echo "Ese no es un día válido.";
break;
}

En este ejemplo, todas las declaraciones case de lunes a viernes imprimirán "Hoy es un día laborable." en la pantalla.

¿Cómo puedo evitar que se ejecuten múltiples declaraciones case?

Si una declaración case no contiene el comando break, la ejecución del código continuará con la siguiente declaración case que coincida con el valor de la expresión. En algunos casos, puede ser necesario ejecutar múltiples acciones en una declaración case. En caso contrario, asegúrate de añadir el comando break al final de cada bloque de código asociado.

¿Puedo tener una declaración default sin código?

Sí, es posible tener una declaración default sin código asociado. En ese caso, simplemente se ignorará si ningún valor en las declaraciones case coincide con la expresión evaluada.

¿Puedo utilizar la declaración switch con valores no escalares?

No, la declaración switch sólo se puede utilizar con valores escalares como cadenas, enteros, flotantes o booleanos. No se puede utilizar con matrices, objetos o recursos.

Ejemplos de códigos o comandos

Aquí hay algunos ejemplos adicionales de código que se pueden utilizar con la declaración Switch de PHP:


$num = 1;

switch ($num) {
case 1:
$mensaje = "El número es uno.";
break;
case 2:
$mensaje = "El número es dos.";
break;
case 3:
$mensaje = "El número es tres.";
break;
default:
$mensaje = "El número no es uno, dos ni tres.";
break;
}

echo $mensaje;


$mes = 3;

switch ($mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
$dias = 31;
break;
case 4:
case 6:
case 9:
case 11:
$dias = 30;
break;
case 2:
$anos_bisiestos = date("L");
if ($anos_bisiestos == 1) {
$dias = 29;
} else {
$dias = 28;
}
break;
default:
echo "Ese no es un mes válido.";
break;
}

echo "El mes " . $mes . " tiene " . $dias . " días.";

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir