Switch en PHP
Programación en Internet II
Switch en 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:
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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.
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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){
// aquí evaluaremos los posibles valores de $día
}?>
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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.
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
Es decir, un case por cada valor.
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
Como sólo uno de esos casos será ejecutado, dentro de el,
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.
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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;
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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);
?>
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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.
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
Como vemos, esta estructura solamente nos sirve en caso
de que conozcamos las posibles alternativas excluyentes
(todos los valores posibles de la variable que se evaluará).
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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).
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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.
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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).
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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:
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
<?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;
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
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);
Programación en Internet II
Universidad de Guadalajara | Centro
Switch en PHP
Podemos probar cargando distintos valores dentro de la
variable $día para ver cómo se ejecuta uno u otro case, o
el default
Programación en Internet II
Universidad de Guadalajara | Centro
Descargar

Información en Power Point