[Tutorial] Uso del Switch [Xt3mP]

Iniciado por Xt3mP, Marzo 19, 2010, 01:52:01 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

El uso del condicional switch más que nada es para evitar el uso excesivo de otro condicional (if, elseif), el switch no lo supera en líneas si no que hará más rápido el código y más estructurado/organizado este tambien.

Un ejemplo común del uso excesivo del if sería algo así:

Código: php

<?php
$color = $_POST['color'];
if ($color == "rojo"){
echo "Color rojo";
}elseif ($color == "verde"){
echo "Color verde";
}elseif ($color == "azul"){
echo "Color azul";
}elseif ($color == "blancl"){
echo "Color blanco";
}
?>


Cuando con el uso del switch sería así:

Código: php

<?php
$color = $_POST['color'];

switch ($color){
case "rojo":
echo "Color rojo";
break;

case "verde":
echo "Color verde";
break;

case "azul":
echo "Color azul";
break;

case "blanco":
echo "Color blanco";
break;
}
?>


Como podrán notar, es mucho mas organizado y si lo ponen a prueba trabaja más rápido ya que el switch es especialmente para muchas posibles respuestas, en cambio el if más que nada es para un uso de 3 respuestas, la estructura del switch es así:

Código: php

<?php
switch ($var){ // En donde con switch se indica como el nombre dice un cambio a lo que esta en paréntesis, en este caso la variable var
// Tambien se le agrega un "{" para indicar las condiciones y se cierra con un "}"

case "condicion1": // Case "condicion1" es como "en caso que la variable switch sea condicion1 has esto:"
echo "Respuesta"; // Mostramos lo que hará
break; // Es como un "}" , como el cierre de un IF.
} // Cerramos el switch
?>


Esto fue lo más básico del switch aunque creo que abarque lo mas escencial, nos vemos.

Suerte.
Cada vez que me das Karma me motivas

Muy útil para los que aún no saben de PHP y se vienen iniciando. La verdad yo no uso los switch, pero me gustaría llegar a usarlos. Sólo una duda: ¿Cómo hago para usar varias condiciones en un case?

Por ejemplo, algo así:

Código: php
<?php
$numero = $_POST["numero"];

if($numero == 1 || $numero == 3 || $numero == 5)
{
     echo "Número impar.";
}else{
     echo "Número par.";
}
?>

Podrías hacerlo así:

Código: php

<?php
$numero = $_POST['numero'];
switch ($numero){
case 1:
echo "Numero impar.";
break;
case 2:
echo "Numero impar.";
break;
case 3:
echo "Numero impar.";
break;
default: //Osea significa un else
echo "Numero par";
}
?>


O a tu manera (uniendo varias condiciones en un case) así:

Código: php

<?php
$numero = $_POST['numero'];
switch ($numero){
case (1) or (2) or (3): //Las 3 condiciones
echo "Número impar.";
break;
default:
echo "Número par.";
}
?>


Espero te sirva, suerte.
Cada vez que me das Karma me motivas