TEMA 3 - PHP A FONDO
LECCION 3: Continuacion sobre seleccion multiple de acuerdo a una condicion.Ya eta estamos de nuevo por aquí, está vez como es un tema de continuación del anterior procuraré ser un poco rápido, ya que es solo una extensión de lo que puede ser e tema de selección múltiple basándose en una condición. Espero hayan notado un avance y sigan practicando, verán que pronto se sorprenderán de todo lo que son capaces de hacer.
SENTENCIA SWITCH…CASE
EL diagrama es identico al de if...elseif...else solo cambian las palabras 
Pseudocodigo
CODE
verificar (variable)
en caso de (condición=valor)
código
me salgo de la seleccion
en caso de(variable=otro valor)
código
me salgo de la seleccion
en caso de(vairable=valor distinto)
código
en caso de(variable=ninguna de las anteriores)
código
Sintaxis
CODE
switch($var)
{
case 1:
//código
break;
case 2:
//código
break;
case “s”
//código
break;
default:
código
}
Pues bien, esta sentencia más que aportar algo nuevo, simplemente nos hace mas cómodo y legible escribir el código, ya que en teoría lo que esta instrucción hace es reemplazar una serie de if…elseif…else, y es usada para cuando tenemos múltiples opciones que elegir, en pocas palabras: es una instrucción de decisión múltiple, donde el servidor prueba o busca el valor contenido en una variable contra una lista de constantes (números o caracteres), cuando se encuentra el valor de igualdad entre variable y constante, entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default, aunque este último es opcional.
Veamos un ejemplo para que nos quede más claro:
meses.htm
CODE
<HTML>
<HEAD>
<TITLE>Ejemplo Switch...</TITLE>
</HEAD>
<BODY>
<FORM action="meses.php" method="GET">
Escribe un numero del 1 al 12 y devolveré el
mes correspondiente y su numero de dias:
<INPUT TYPE="text" name="num"> <br>
<INPUT TYPE="submit" name="aceptar" value="Aceptar">
</FORM>
</BODY>
</HTML>
meses.php
CODE
<?php
$num=$_GET['num'];
switch($num)
{
case 1:
$mes="Enero";
$dias=31;
break; //Cada caso necesita un break, lo cual hace que deje de comparar.
case 2:
$mes="Febrero";
$dias=28;
break;
case 3:
$mes="Marzo";
$dias=31;
break;
case 4:
$mes="Abril";
$dias=30;
break;
case 5:
$mes="Mayo";
$dias=31;
break;
case 6:
$mes="Junio";
$dias=30;
break;
case 7:
$mes="Julio";
$dias=31;
break;
case 8:
$mes="Agosto";
$dias=31;
break;
case 9:
$mes="Septiembre";
$dias=30;
break;
case 10:
$mes="Octubre";
$dias=31;
break;
case 11:
$mes="Noviembre";
$dias=30;
break;
case 12:
$mes="Diciembre";
$dias=31;
break;
default:
//Esto se ejecuta si ninguna condición anterior se cumple
echo "Solo se aceptan numeros del 1 al 12, evita letras o signos extraños. ";
//es el único que no lleva break :D
}
echo "El mes $num corresponde a $mes y tiene $dias dias";
?>
EJECUTAR EL CODIGO
Como ven está sencillo y mucho más legible entenderlo. El ejemplo lo muestro con números, pero igual pueden hacerlo con caracteres, ya sea uno solo o palabras completas
CODE
<?php
$posicion;
switch($posicion)
{
case "arriba":
echo "Estamos arriba";
break;
case "abajo":
echo "Estamos abajo";
break;
default:
echo "No estamos ni arriba ni abajo :P";
}
?>
Bien, hasta aquí llegamos con sentencias de selección multiple, y estamos a une lección de terminar el tema 3, el cual ha sido el más largo hasta ahora, les adelanto que veremos sobre bucles(condicionales y numerales), asi como generar que un código se repita hasta que cumpla una condición
, una vez dominando el tema 3, veremos la carta fuerte de PHP: LA PROGRAMACION FUNCIONAL, pero eso será hasta el tema 4
…
Como siempre si queda alguna duda sobre switch darse una vuelta poraqui:
AYUDA TEMA 3
Un saludo