jueves, 29 de enero de 2009

Manual de PHP 29. Operadores: La función switch

La función switch

Una alternativa al uso de condicionales del tipo if es la función switch.

Se trata de un condicional que evalúa una variable y, según su valor, ejecuta unas instrucciones u otras.

Su sintaxis es la siguiente:

switch ( variable ) {

case n1:
instrucciones caso n1...
.....................


case n2:
instrucciones caso n2...
.....................

}

Cuando se usa esta sintaxis sólo se ejecutan aquellas instrucciones que han sido incluidas a partir de la etiqueta en la que el número que sigue a case coincide con el valor de la variable.

La forma más habitual de uso de esta función es esta:

switch ( variable ) {

case n1:
instrucciones caso n1...
.....................
break;

case n2:
instrucciones caso n2...
.....................
break;
}

Esta opción incluye antes de cada nuevo case la función de ruptura break. Cuando PHP encuentra el break interrumpe la ejecución y no la reanuda hasta la instrucción siguiente a la } que cierra la función switch.

Insertando break en cada una de las opciones case, sólo se ejecutarían las instrucciones contenidas entre case num y ese break.

default:

Bajo este nombre (default:) se pueden incluir –dentro de la función switch– un conjunto de instrucciones que solo serán ejecutadas en el caso que el valor de la variable no coincida con ninguno de los case. Su comportamiento es equivalente a else en el condicional if.


La estructura switch

<?
# esta es la variable que controlará la función switch
$i=1;

switch ($i) {

#insertamos la etiqueta case 0 y a continuación
# las instrucciones correspondientes

case 0:
print "i es igual a 0 - No he puesto el break<br>";

# insertamos la etiqueta case 1 y a continuación
# las instrucciones correspondientes
# como no hemos puesto break y en este ejemplo $i=1
# se ejecutarán todas las instrucciones escritas
# de aquí en adelante

case 1:
print "i es igual a 1 - No he puesto el break<br>";
case 2:
print "i es igual a 2 - No he puesto el break<br>";

};
# ahora incluiremos break al final de las intrucciones de cada case
# con ello lograremos que solo se ejecuten las intrucciones correspondientes
# a cada uno de ellos
switch ($i) {
case 0:
print "i es igual a 0 - Ahora lleva break<br>";
break;
case 1:
print "i es igual a 1 - Ahora lleva break<br>";
break;
case 2:
print "i es igual a 2 - Ahora lleva break<br>";
break;
}
?>

ejemplo36.php

<? $i=3;
switch ($i) {
case 0:
print "La variable i es 0<br>";
break;
case 1:
print "La variable i es 1<br>";
break;
case 2:
print "La variable i es 2<br>";
break;

# al intoducir default y dado que $i=3 se ejecutarán
# las instrucciones contenidas aquí ya que la variable
# no coincide con ninguno de los case establecidos
default:
print "La variable i es mayor que dos o menor que cero";
break;
}
?>






Fuente:
Página del ifstic: http://www.isftic.mepsyd.es/formacion/enred/

No hay comentarios: