No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Cómo organizar tu código con switch

7/25
Recursos

Aportes 33

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

☝ Switch es otra estructura de control que nos ayuda a tomar decisiones, pero… ¿cuál es la diferencia con if y else? 🤔
.
La principal diferencia es que switch funciona con casos, es decir, dependiendo de un caso tomaremos una decición u otra. Mientras que if y else te permiten hacer comparaciones, switch te ayuda a decidir qué hacer dependiendo del caso que tengas presente.
.
¿Switch me sirve para reemplazar if y else? ¿Cuál es mejor? ¡Ninguna es mejor! Cada estructura tiene su caso de uso particular, la pregunta correcta para hacerte es:
.
¿Cuál estructura de control me permite tomar esta decisión más fácilmente?
.
Recuerda que si necesitas hacer comparaciones, entonces if y else son las estructuras que debes usar, mientras que si necesitas elegir un caso de entre los múltiples escenarios que puedas tener entonces switch puede ser lo que estás buscando 😄

No me lo puedo creer soy el primer comentario en una clase. 😮. Me esta gustado mucho el curso y aunque ya se programar he aprendido un montón de cosas nuevas con php.

Mi aporte para esta clase de la estructura de control **switch
**

Ejemplo

$edad = 36;

switch($edad) {
    case $edad < 1:
        echo "Eres bebé";
        break;
    case $edad < 12:
        echo "Estas en la niñez";
        break;
    case $edad < 20:
        echo "Estas en la adolescencia";
        break;
    case $edad < 50: 
        echo "Estas en la adultez";
        break;
    case $edad < 70 : 
        echo "Eres un adulto mayor";
        break;
    case $edad < 100: 
        echo "Estás en la vejez";
        break;
    default: 
    echo "Ingresa una edad válida";
    
}

Este comportamiento de switch también se ve en Java

Una de las cosas que mas me llamó la atención de esta parte del curso es el cómo el profe nos explica que esta estructura de control puede ser optimizada .

Tomando el ejemplo del número favorito de cada michi

<?php

//Numero favorito de cada michi
$michi = "Michisancio";
switch ($michi) {
    case 'Michiberto':
        echo "el numero favorito de  $michi es el 9";
        break;

    case 'Michisancio':
        echo "el numero favorito de  $michi es el 4";
        break;
        
    case 'Michilino':
        echo "el numero favorito de  $michi es el 6";
        break;

    default:
        echo "ese michi no existe";
}
//Nos mostrará: el numero favorito de Michisancio es el 4

El código anterior funciona correctamente, sin embargo, podemos realizarlo con menos código, de la siguiente forma:

<?php
//Numero favorito de cada michi
$michi = "Michisancio";
$numeros_favoritos = array(
    'Michiberto' =>"el numero favorito de $michi es el 9",
    'Michisancio' =>"el numero favorito de $michi es el 4",
    'Michilino' =>"el numero favorito de $michi es el 5"
);

//El operador  ?? cumple con la funcionalidad de default.
echo $numeros_favoritos[$michi] ?? "Ese michi no existe :c";
//También mostrará: el numero favorito de Michisancio es el 4

Espero que les haya servido este pequeño aporte c:

Usando el realine en el swich

<?php


$person =readline("Write a number: ");

switch($person){
    case 1:
        echo "Him favorite food is the fruits";
        break;
    case 2:
        echo "Her favorite food is the burger";
        break;
    case 3:
        echo "Her favorite food is the hot dog";
        break;
    case 3:
    case 4:    
        echo "Her favorite food is the pizza";
        break;
    default:
        echo "the person doesn't live";
}

echo "\n";
?>

Switch

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.
Documentación

switch ($i) {
    case 0:
        echo "i es igual a 0";
        break;
    case 1:
        echo "i es igual a 1";
        break;
    case 2:
        echo "i es igual a 2";
        break;
    default:
        echo "i no existe";
}

Queremos saber que comida le gusta a cada michi???

<?php

#michi 1: pan
#michi 2: leche
#michi 3: atun
#michi 4: chocolate
#michi 5: sushi

$michi = readline(“digite un michi de 1 a 5”);

switch ($michi)
{
case 1:
echo “al michi 1 le gusta el pan”;
break;
case 2:
echo “al michi 2 le gusta la leche”;
break;
case 3:
echo “al michi 3 le gusta el atun”;
break;
case 4:
echo “al michi 4 le gusta el chocolate”;
break;
case 5:
echo “al michi 5 le gusta el sushi”;
break;
default:
echo “no seleccionaste ningun michi del 1 al 5”;
break;
}

Vayah que es Muy Parecido a C/C++ a pesar de ser Interpretado \n
Si estas usando PHP 8 o superior recomiendo usar `match()` en lugar de `switch` ya que a diferencia de `switch`, `match` devuelve un valor y no necesita `break` para detener la ejecución además que usa comparación estricta `(===)` ```js $dia = "lunes"; $mensaje = match ($dia) { "lunes" => "Comienza la semana", "viernes" => "Fin de semana cercano", "sábado", "domingo" => "Es fin de semana", default => "Día laboral", }; echo $mensaje; // Salida: "Comienza la semana" ```
GRACIAS POR LA CLASE PROFE MUY BUENA EXPLICACION (TOMO NOTA Y HAGO MI PRACTICA 😁👍) ![](https://static.platzi.com/media/user_upload/wMLzeCO7_400x400-e2a9133b-0abd-4e90-adf1-397c46fead8e.jpg)
![](https://static.platzi.com/media/user_upload/image-b63fcace-f34f-4914-bdea-7d52d44c455b.jpg)
![](https://static.platzi.com/media/user_upload/image-32eabb0a-344a-4c87-b8b0-52e47e093ce4.jpg)

Excelente explicación profe 😃

```js

Switch en PHP

La sentencia switch en PHP se utiliza para comparar una expresión con múltiples valores posibles y ejecutar diferentes bloques de código dependiendo del valor de la expresión. Es una alternativa a la sentencia if cuando se necesitan muchas comparaciones.

La sintaxis básica de un bloque switch es la siguiente:

switch (expresión) {
    case valor1:
        // Código a ejecutar si la expresión es igual a valor1
        break;
    case valor2:
        // Código a ejecutar si la expresión es igual a valor2
        break;
    default:
        // Código a ejecutar si la expresión no es igual a ningún valor anterior
        break;
}

En este caso, expresión es la expresión que se va a comparar con los diferentes valores posibles. Cada case es un valor posible que se puede comparar con la expresión. Si la expresión es igual al valor, entonces se ejecuta el código dentro del bloque case. Si no hay un case que coincida con la expresión, se ejecuta el código dentro del bloque default. La sentencia break se utiliza para salir del bloque switch después de ejecutar el código correspondiente.

A continuación, se presenta un ejemplo de código que utiliza un bloque switch para determinar el día de la semana a partir de un número del 1 al 7:

$dia = 3;

switch ($dia) {
    case 1:
        echo "Lunes";
        break;
    case 2:
        echo "Martes";
        break;
    case 3:
        echo "Miércoles";
        break;
    case 4:
        echo "Jueves";
        break;
    case 5:
        echo "Viernes";
        break;
    case 6:
        echo "Sábado";
        break;
    case 7:
        echo "Domingo";
        break;
    default:
        echo "Número de día inválido";
        break;
}

En este caso, expresión es la variable $dia, que contiene el número del 1 al 7 correspondiente al día de la semana. Cada case es un valor posible que se puede comparar con $dia. Si $dia es igual al valor, entonces se ejecuta el código dentro del bloque case. Si no hay un case que coincida con $dia, se ejecuta el código dentro del bloque default.

El uso de switch puede ser muy útil cuando se necesitan muchas comparaciones para tomar una decisión en el código. Sin embargo, es importante tener en cuenta que switch no siempre es la mejor opción y que puede haber formas más eficientes de escribir el código en algunos casos.


Ejemplo de Aplicación del Switch en PHP

Un ejemplo práctico de cómo se puede utilizar la sentencia switch en PHP es para determinar el tipo de animal a partir de su nombre. Supongamos que se tiene una lista de nombres de animales y se desea clasificarlos en diferentes categorías según su tipo (mamífero, ave, reptil, etc.).

$animal = "gato";

switch ($animal) {
    case "perro":
    case "gato":
    case "conejo":
    case "ratón":
        echo "$animal es un mamífero";
        break;
    case "pájaro":
    case "águila":
    case "búho":
        echo "$animal es un ave";
        break;
    case "serpiente":
    case "cocodrilo":
    case "lagarto":
        echo "$animal es un reptil";
        break;
    default:
        echo "No se reconoce el tipo de animal";
        break;
}

En este ejemplo, se utiliza la sentencia switch para comparar la variable $animal con diferentes valores posibles. En los casos de “perro”, “gato”, “conejo” y “ratón”, se imprime que el animal es un mamífero. En los casos de “pájaro”, “águila” y “búho”, se imprime que el animal es un ave. En los casos de “serpiente”, “cocodrilo” y “lagarto”, se imprime que el animal es un reptil. Si $animal no coincide con ningún valor anterior, se imprime que no se reconoce el tipo de animal.

Este es solo un ejemplo de cómo se puede utilizar la sentencia switch en PHP para tomar decisiones en el código. Hay muchas otras situaciones en las que switch puede ser útil, por lo que es una herramienta importante para cualquier programador de PHP.

<?php

    //EJERCICIO SABOR DE HELADO

    //ELIGE UN NÚMERO DEL 1 AL 6
    // CUPÓN POR UN HELADO ESPECIAL PONER "HELADO ESPECIAL"

    $sabor = "HELADO ESPECIAL";




    switch ( $sabor ){

        case 1: 
            echo "elegiste la opción $sabor tú helado es de Vainilla";
            break;

        case 2: 
            echo "elegiste la opción $sabor tú helado es de Chocolate";
            break;
        
        case 3: 
            echo "elegiste la opción $sabor tú helado es de Fresa";
            break;

        case 4: 
            echo "elegiste la opción $sabor tú helado es de Menta";
            break;

        case 5: 
            echo "elegiste la opción $sabor tú helado es de Café";
            break;

        case 6: 
            echo "elegiste la opción $sabor tú helado es de Galleta";
            break;

        case "HELADO ESPECIAL":
            echo "elegiste la opción $sabor tú helado es de ._.";
            break;
            
    }

?>

No sé que tiene este profesor, pero es una máquina.

No tenia idea de que podía combinar case con switch. muy interesante.

$dia = "lunes";

switch ($dia) {
    case "lunes":
        echo "Hoy es lunes";
        echo "\n";
        break;
    case "martes":
        echo "Hoy es martes";
        echo "\n";
        break;
    case "miercoles":
        echo "Hoy es miercoles";
        echo "\n";
        break;
    case "jueves":
        echo "Hoy es jueves";
        echo "\n";
        break;
    case "viernes":
        echo "Hoy es viernes";
        echo "\n";
        break;
    case "sabado":
        echo "Hoy es sabado";
        echo "\n";
        break;
    case "domingo":
        echo "Hoy es domingo";
        echo "\n";
        break;
    default:
        echo "No es un dia de la semana";
        echo "\n";
        break;
}

Entiendan como funciona el switch, pero no se trasnochen en cuando o no usarlo, en la vida diaria cuando programas, generalmente todos lo saldas con if y else.

<?php

$valor_entrada = 500;
$tu_monedero = 400;
$asientos_disponibles = 5;
$tienes_dinero = True;

if($asientos_disponibles > 0) {
    echo "Asientos disponibles: $asientos_disponibles, Si puedes ingresar a ver la película\n";
} else {
    echo "Lo siento, no quedan asientos disponibles\n";
}

if($tienes_dinero && $tu_monedero >= $valor_entrada) {
    echo "Si puedes pagar la entrada, puedes ingresar a ver la película\n";
} else {
    echo "No puedes pagar la entrada, no puedes ingresar a ver la película, pobre marginal poblacional hediondo a fonola\n";
    echo "get out of my cine\n";
}

Mi resultado de esta clase 💚

<?php

/* Aerolinea
*Primera clase: precio de vuelo 1500$
*Segunda clase: precio de vuelo 700$
*Clase economica: precio de vuelo 400$
*/

$precio = "primera";

switch($precio){

  case 'primera':
    echo "El precio del vuelo es de: 1500$";
    break;

  case 'segunda':
    echo "El precio del vuelo es de: 700$";
    break;

  case 'economica':
    echo "El precio del vuelo es de: 400$";
    break;

  default:
    echo "En esta aerolinea no disponemos de esa clase 🙄";

}

echo "\n";


?> 
<?php
// Michi 1: 9
// Michi 2: 4
// Michi 3: 3
// Michi 4: 9
// Michi 5: 1
$michi = 4;
switch( $michi ){
// En el primer y en el cuarto caso, al ser el mismo valor lo podemos poner sin break para que salte al 4 :D 
    case 1:
    case 4:
        echo "Su número favorito es el 9";
        break;
    case 2: 
        echo "Su número favorito es el 4";
        break;
    case 3: 
        echo "Su número favorito es el 3";
        break;
    case 5: 
        echo "Su número favorito es el 1";
        break;
    default:
        echo "Ese Michi no existe :(";
};

Creo que esto de switch no existe en Python, o si?

$comidas = [
    "desayuno" => "Panqueques",
    "almuerzo" => "Lasagna",
    "cena" => "Arepas",
];
$comida = readline("Indica la comida que deseas: ");
switch ($comida) {
    case 'desayuno':
        print_r($comidas["desayuno"]);
        break;
    case  'almuerzo':
        print_r($comidas["almuerzo"]);
        break;
    case 'cena':
        print_r($comidas["cena"]);
        break;
    default:
        print_r("Opción errada");
        break;
};

Mi ejemplo usando switch:

<?php
$dinero = 10;
switch ($dinero){
    case $dinero == 1:
        echo "Tiene poco dinero";
         break;

    case $dinero == 5:
        echo "Tiene algo de dinero";
        break;

    case $dinero == 10:
        echo "Tiene mucho dinero";
        break;
}
?>
function elColorFavoritoDeJuan($colorFavorito){
    switch($colorFavorito) {
        case "rojo":
            echo "el color favorito de juan, es el rojo";
        break;

        case "azul":
            echo "el color favorito de juan, es el azul";
        break;

        case "verde":
            echo "el color favorito de juan, es el verde";
        break;

        case "amarillo":
            echo "el color favorito de juan, es el amarillo";
        break;

        default:
            echo "este sujeto no es juan";

    };
}

print(elColorFavoritoDeJuan("azul"));
//el color favorito de juan, es el azul
//switch
switch(/*variable a evaluar*/){
    case 1://caso que se debe cumplir
        //codigo que se ejecuta si se cumple el caso1
        break
    case 2:
        //codigo que se ejecuta si se cumple el caso2
        break
    case 3:
        //codigo que se ejecuta si se cumple el caso3
        break
default
//codigo que se ejecuta si ningun caso se cumple 
}

Mi humilde aporte ;D

<?php
$numero = 1;
switch ($numero){
    case 1 :
        echo "No es";
        break;
    case 2 :
        echo "Si es :D";
        break;
    case 3 :
        echo "No es";
        break;
    default:
        echo "No existe";
}
?>

Excelente clase como siempre, profe Carlos 😎
Comparto mi apunte de la clase ejemplificando un menú de operaciones usando como valor de los casos un carácter.
PD: Vi que también se pueden usar ‘emojis’ como valores para los casos 😆
.

La sentencia Swtich se presta para hacer código smell, pero lo podemos usar cuando tenemos usa serie de situaciones donde podemos específicas…

-quieres una forma fácil de plantear diversas situaciones