Programación Web » Aprender PHP y MySQL » Unidad 5. Validaciones en PHP:

Switch en PHP

logo php

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

Artículos de navegación

Acerca del Profesor

Adrián Delgado Rodríguez

Ingeniero en Computación, docente por convicción y apasionado por la programación Web.

Actualmente trabaja como Profesor para en el Centro Universitario de la Costa de la Universidad de Guadalajara y como Desarrollador Web.

Síguenos:

 

Ver el perfil completo de Hugo Adrián Delgado Rodríguez (akus.net).

Deja un comentario





Diseño de páginas Web en Puerto Vallarta y Bahía de Banderas akus.net
subir

Síguenos en Facebook

Artículo de la semana

Cómo iniciar una página WebMetodología para la creación de sitios

Comprende las fases de Análisis, Planificación, Contenido, Diseño. ¿Qué método utilizas?