Índice de contenidos
Instalación en Windows
Instalación en Ubuntu
Servidores seguros
Páginas dinámicas
Sintaxis básica
Operaciones
Arrays
Formatos de presentación
Operadores
Bucles
Extraer y ord. información
Funciones
Ficheros externos
Imágenes dinámicas
Gestión de directorios
Cookies y sesiones
Clases y objetos
Ficheros en formato PDF
Bases de datos MySQL
PHP y XML
PDO - Bases SQLite / MySQL
MySQL a traves de misqli
Algo de JavaScript y AJAXLa 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 ) {Cuando se usa esta sintaxis se ejecutan todas aquellas instrucciones que han sido incluidas a partir de la etiqueta en la que el valor que sigue a case coincide con el valor de la variable. Es decir, si en la expresión anterior la variable es igual a n1 se ejecutarían todas las instrucciones, tanto las que van detrás de case n1 como las que van detrás de case n2.
La forma más habitual de uso de esta función es esta:
switch ( variable ) {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 el 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 de que el valor de la variable no coincida con ninguno de los case. Su comportamiento es equivalente a else en el condicional if.
Ejemplos con switch
<?php # 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; } ?>
<?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; } ?>