La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresión) con muchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a que valor es igual. Para esto es exactamente la expresión switch. [1]
Ok, veamos un ejemplo:
<?php
switch ($i) {
case "manzana":
echo "i es una manzana";
break;
case "barra":
echo "i es una barra";
break;
case "pastel":
echo "i es un pastel";
break;
}
?>
Con este ejemplo nos podemos hacernos la idea de como usarlo no? Ahora bien, les comentare un "viejo truco" como dice @xombra el cual he aplicado en muchas cosas que he estado haciendo...
En este caso, se trata de que al seleccionar un enlace y que abra esa ventana bueno, con el ejemplo que les dare creo que me explicare mejor xD
Bueno, suponiendo que tenemos nuestro index.php dentro de las etiquetas \
y \ colocamos:<?php include 'include/seleccion.php'; ?>
Donde en ese archivo seleccion.php (al que podemos llamar como queramos) colocamos:
<?php
if (!isset($_GET["ver"])) { $ver = 'home'; } else { $ver = htmlentities(trim($_GET["ver"])); }
switch($ver){
case 'Home':
include 'include/home.php';
break;
case 'About':
include_once 'include/about.php';
break;
case 'Contacto':
include_once 'include/contacto.php';
break;
default:
include 'include/home.php';
}
?>
Ok, explico lo que hay:
if (!isset($_GET["ver"])) {
$ver = 'Home';
} else {
$ver = htmlentities(trim($_GET["ver"]));
}
En esa linea estamos diciendo que si no esta vacío la opción "ver" obtenida por $_GET
donde declaramos a $ver = Home
, de lo contrario limpiamos el valor de $_GET["ver"]
con las funciones htmlentities[2] y trim [3]
Por consiguiente, al hacer clic en un enlace de la forma:
<a href="index.php?ver=Home" target="_self" title="Clic aquí para ir directamente a la página XXXX" >Ir a la pagina XXXX</a>
donde ver=Home
se va directo a la pagina llamada home.php que tenemos dentro de la carpeta include.
Btw, usamos esa carpeta "include" para asi colocar todo lo referente a las paginas que vamos a usar.
Bueno, esto es todo por los momentos :D a medida que tenga tiempo les seguiré colocando cosas útiles como esta!!
Más info, clic en los siguientes enlaces:
[1] http://www.php.net/manual/es/control-structures.switch.php
[2] http://www.php.net/manual/es/function.htmlentities.php
[3] http://www.php.net/manual/es/function.trim.php