Switch en PHP

Switch en PHP
COMPÁRTELO:

Elegir entre valores conocidos de una única variable: El switch

De las estructuras condicionales denominada switch se dice que es “selectiva”, ya que selecciona uno de varios posibles caminos según el valor de una variable:

Para programar un switch se coloca entre paréntesis, al lado de la palabra switch, la variable o celda de matriz cuyos valores posibles conocemos y queremos averiguar, en cada ejecución de la página, que valor tienen para ejecutar en consecuencia. Veamos este otro ejemplo, que evalúa una variable llamada $día (a la que se espera que la hayamos dado como valor uno de los días de la semana):

<?php
switch ($día){
// aqui evaluaremos los posibles valores de $día
}?>

Case (cada posible valor)

Dentro de las llaves del switch, a continuación de la variable a evaluar, se repiten una serie de bloques case (un “caso” posible, un valor posible de esa variable) tantas veces como valores posibles esperemos que tenga la variable examinada. Es decir, un case por cada valor. Como sólo uno de esos casos será ejecutado, dentro del, simplemente hemos definido un valor para la variable $texto y, al final, mostraremos esa variable, cuyo contenido –y, por ende, el texto que se mostrará- habrá tomado uno u otro valor, según lo evaluado en el switch, de acuerdo con cual caso resulto ser verdadero. Agreguemos los casos al ejemplo:

<?php
switch ($día){
case "lunes":
$texto = "¡Feliz día de la Luna!";
break;
case "martes":
$texto = "¡Feliz día de Marte!";
break;
case "miercoles":
$texto = "¡Feliz día de mercurio!";
break;
case "jueves":
$texto = "¡Feliz día de Júpiter!";
break;
case "viernes":
$texto = "¡Feliz día de Venus!";
break;
case "sabado":
$texto = "¡Feliz día de Saturno!";
break;
case "Domingo":
$texto = "¡Feliz día del sol!";
break;
}
print ($texto);
?>

Notemos la sintaxis: luego de la palabra case, envolveremos entre comillas el valor de la variable, y luego colocamos dos puntos. Todas la ordenes del lenguaje PHP que venga a continuación, hasta la palabra “break”, se ejecutará sólo si ese es el valor de la variable $día evaluada.

Como vemos, esta estructura solamente nos sirve en casa de que conozcamos las posibles alternativas excluyentes (todos los valores posibles de la variable que se evaluará).

Default (valor por omisión)

Adicionalmente, podemos ofrecer una alternativa por defecto (si bien es opcional, y podría no ser incluida, es mucho mejor incluir siempre una acción por omisión).

Los case del ejemplo anterior no tiene prevista ninguna acción para el caso en que $día tenga un valor distinto a los siete valores definidos.

Para evitar el riesgo de este “vacio” lógico, se utiliza en el último lugar de la sucesión de case, mejor dicho, después, del último case, la expresión default (por defecto). El código envuelto en ese bloque, se ejecutará en cualquier otro caso en que la variable evaluada contenga cualquier otra cosa no prevista en ningún o de los case anteriores:

<?php
switch ($día){
case "lunes":
$texto = "¡Feliz día de la Luna!";
break;
case "martes":
$texto = "¡Feliz día de Marte!";
break;
case "miercoles":
$texto = "¡Feliz día de mercurio!";
break;
case "jueves":
$texto = "¡Feliz día de Júpiter!";
break;
case "viernes":
$texto = "¡Feliz día de Venus!";
break;
case "sabado":
$texto = "¡Feliz día de Saturno!";
break;
case "Domingo":
$texto = "¡Feliz día del sol!";
break;
default:
$texto = "¡Feliz día fuera de calendario!";
break;
}
print ($texto);

Podemos probar cargando distintos valores dentro de la variable $día para ver cómo se ejecuta uno u otro case, o el default

Compártelo:

⇐Anterior


Elseif en PHP

Siguiente ⇒


Break en PHP

Profesor de la Universidad de Guadalajara

Hugo Delgado Desarrollador y Diseñador Web en Puerto Vallarta

Profesional en Desarrollo y Posicionamiento Web desde hace más de 10 años continuos.
Contamos con más de 200 constancias y reconocimientos en la trayectoria Académica y Profesional, incluidos diplomados certificados por Google.

ARTÍCULOS RELACIONADOS:

0 Comentarios

 

Deja un Comentario

Recomendado para ti:

Análisis de proyectos Web - Tipos de Sitios en InternetAnálisis de proyectos Web - Tipos de Sitios en Internet

No tendrás muchas oportunidades de crear una Web de éxito si no ha decidido para qué va a servir. Los tipos...