Sentencia switch en PHP

La sentencia switch se utiliza para lanzar una instrucción en función del valor de una variable. Es similar al uso de la sentencia if anidada. Veamos unos ejemplos:

Simulación de switch con if

<?php
$opcion="opcion2";
if ($opcion=="opcion0")
	{
	echo "ha pulsado usted la opción 0";
	}
elseif ($opcion=="opcion1")
	{
	echo "ha pulsado usted la opción 1";
	}
elseif ($opcion=="opcion2")
	{
	echo "ha pulsado usted la opción 2";
	}
else
	{
	echo "ha pulsado usted una opción incorrecta";
	}
?>

Ejemplo de uso de switch en PHP

Normalmente se usa con los campos provenientes de un formulario ($_POST), pero para el ejemplo hemos usado una variable común. Siempre debermos poner entre paréntesis la opción, podremos poner una operación entre varías opciones como por ejemplo ($a+30), si usamos una expresión lógica ($a || $b), el uso de switch es relativamente incorrecto ya que sólo podemos esperar los valores TRUE o FALSE y esto se resuelve perfectamente con un if.
Una vez dentro de swich usaremos “case “posiblevalor”:” (los dos puntos deben estar pegados). No es necesario el uso de “{}” dentro del case (pero se pueden poner).
Todo case termina con un break, para ahorrar el resto de comprobaciones, poremos no poner el break, pero nuestro programa será más complejo, intentará valorar casos imposibles.

<?php
$opcion="opcion2";
switch ($opcion)
	{
	case "opcion0":
		echo "ha pulsado usted la opción 0";
		break;
	case "opcion1":
		echo "ha pulsado usted la opción 1";
		break;
	case "opcion2":
		echo "ha pulsado usted la opción 2";
		break;
	default:
		echo "ha pulsado usted una opcion incorrecta";
		break;
	}

?>

Ejercicios

  1. Prueba con distintos valores de $opcion
  2. Toma la opción desde un formulario con el método POST
  3. Úsalo como selector para el ejemplo visto en aquí y llámalo siempre que la opción (que viene del formulario del segundo ejercicio) valga, 10, 15, 20. Os dejo un ejemplo
  4. <?php
    .
    .//Principio del ejercicio
    switch ($_POST['opcion')
    	{
    	case 10:
    	echo '<a href="http://127.0.0.1/tema3/proce.php?var1=$_POST["opcion"]">Pulse la opción</a>'
    .
    .// Resto del ejercicio
    	}
    
    ?>
    

Originally posted 2011-02-08 17:40:43.

Deja un comentario