Les declaracions switch en PHP són una manera eficient de gestionar múltiples condicions basades en el valor d'una variable. Són especialment útils quan es necessita comparar una variable amb diversos valors possibles i executar diferents blocs de codi segons el resultat de la comparació.

Conceptes Clau

  • Declaració switch: Permet comparar una variable amb múltiples valors.
  • Cases: Cada possible valor de la variable es defineix amb una declaració case.
  • Break: Utilitzat per sortir del bloc switch després d'executar un cas.
  • Default: Opció per defecte que s'executa si cap dels casos coincideix.

Estructura Bàsica

La sintaxi d'una declaració switch és la següent:

switch (variable) {
    case valor1:
        // Codi a executar si variable és igual a valor1
        break;
    case valor2:
        // Codi a executar si variable és igual a valor2
        break;
    // Més casos...
    default:
        // Codi a executar si cap dels casos anteriors coincideix
}

Exemple Pràctic

Vegem un exemple pràctic per entendre millor com funcionen les declaracions switch en PHP.

Exemple: Determinar el Dia de la Setmana

<?php
$dia = 3;

switch ($dia) {
    case 1:
        echo "Dilluns";
        break;
    case 2:
        echo "Dimarts";
        break;
    case 3:
        echo "Dimecres";
        break;
    case 4:
        echo "Dijous";
        break;
    case 5:
        echo "Divendres";
        break;
    case 6:
        echo "Dissabte";
        break;
    case 7:
        echo "Diumenge";
        break;
    default:
        echo "Dia no vàlid";
}
?>

Explicació del Codi

  1. Variable $dia: Es defineix la variable $dia amb el valor 3.
  2. Declaració switch: La variable $dia es compara amb els valors dels diferents casos.
  3. Cases: Cada case representa un dia de la setmana. Si $dia és igual a 3, s'executa el codi dins del case 3 i es mostra "Dimecres".
  4. Break: Després d'executar el codi dins d'un case, la declaració break evita que s'executin els casos següents.
  5. Default: Si cap dels casos coincideix, s'executa el codi dins del default.

Exercicis Pràctics

Exercici 1: Classificació de Notes

Escriu un script PHP que classifiqui una nota (de 0 a 10) en una categoria (Suspès, Aprovat, Notable, Excel·lent).

<?php
$nota = 8;

switch (true) {
    case ($nota >= 0 && $nota < 5):
        echo "Suspès";
        break;
    case ($nota >= 5 && $nota < 7):
        echo "Aprovat";
        break;
    case ($nota >= 7 && $nota < 9):
        echo "Notable";
        break;
    case ($nota >= 9 && $nota <= 10):
        echo "Excel·lent";
        break;
    default:
        echo "Nota no vàlida";
}
?>

Solució

  1. Variable $nota: Es defineix la variable $nota amb el valor 8.
  2. Declaració switch: La variable $nota es compara amb diferents rangs de valors.
  3. Cases: Cada case representa un rang de notes. Si $nota és 8, s'executa el codi dins del case ($nota >= 7 && $nota < 9) i es mostra "Notable".
  4. Break: Després d'executar el codi dins d'un case, la declaració break evita que s'executin els casos següents.
  5. Default: Si cap dels casos coincideix, s'executa el codi dins del default.

Errors Comuns i Consells

  • Oblidar el break: Si oblides la declaració break, el codi continuarà executant els casos següents fins trobar un break o arribar al final del switch.
  • Ús de default: Sempre és una bona pràctica incloure un cas default per gestionar valors inesperats.
  • Comparació de valors: Assegura't que els valors dels casos siguin del mateix tipus que la variable que estàs comparant.

Conclusió

Les declaracions switch són una eina poderosa per gestionar múltiples condicions de manera clara i eficient. Amb una comprensió sòlida de la seva sintaxi i ús, pots simplificar el teu codi i fer-lo més llegible. Practica amb diferents exemples per dominar aquesta estructura de control en PHP.

Curs de Programació PHP

Mòdul 1: Introducció a PHP

Mòdul 2: Estructures de Control

Mòdul 3: Funcions

Mòdul 4: Arrays

Mòdul 5: Treballant amb Formularis

Mòdul 6: Treballant amb Fitxers

Mòdul 7: Programació Orientada a Objectes (OOP)

Mòdul 8: Treballant amb Bases de Dades

Mòdul 9: Tècniques Avançades de PHP

Mòdul 10: Frameworks PHP i Millors Pràctiques

Mòdul 11: Projecte: Construint una Aplicació Web

© Copyright 2024. Tots els drets reservats