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
- Variable
$dia
: Es defineix la variable$dia
amb el valor3
. - Declaració
switch
: La variable$dia
es compara amb els valors dels diferents casos. - Cases: Cada
case
representa un dia de la setmana. Si$dia
és igual a3
, s'executa el codi dins delcase 3
i es mostra "Dimecres". - Break: Després d'executar el codi dins d'un
case
, la declaracióbreak
evita que s'executin els casos següents. - 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ó
- Variable
$nota
: Es defineix la variable$nota
amb el valor8
. - Declaració
switch
: La variable$nota
es compara amb diferents rangs de valors. - Cases: Cada
case
representa un rang de notes. Si$nota
és8
, s'executa el codi dins delcase ($nota >= 7 && $nota < 9)
i es mostra "Notable". - Break: Després d'executar el codi dins d'un
case
, la declaracióbreak
evita que s'executin els casos següents. - 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 unbreak
o arribar al final delswitch
. - Ús de
default
: Sempre és una bona pràctica incloure un casdefault
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
- Què és PHP?
- Configuració de l'Entorn de Desenvolupament
- El teu Primer Script PHP
- Sintaxi i Variables de PHP
- Tipus de Dades en PHP
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Àmbit de Variables
- Funcions Anònimes i Closures
Mòdul 4: Arrays
Mòdul 5: Treballant amb Formularis
Mòdul 6: Treballant amb Fitxers
- Lectura i Escriptura de Fitxers
- Funcions de Gestió de Fitxers
- Permisos de Fitxers
- Funcions de Directori
Mòdul 7: Programació Orientada a Objectes (OOP)
- Introducció a OOP
- Classes i Objectes
- Propietats i Mètodes
- Herència
- Interfícies i Classes Abstractes
- Traits
Mòdul 8: Treballant amb Bases de Dades
- Introducció a les Bases de Dades
- Connexió a una Base de Dades MySQL
- Realització d'Operacions CRUD
- Ús de PDO per a la Interacció amb Bases de Dades
- Seguretat en Bases de Dades
Mòdul 9: Tècniques Avançades de PHP
- Gestió d'Errors i Excepcions
- Sessions i Cookies
- Expressions Regulars
- Treballant amb JSON i XML
- PHP i Serveis Web
Mòdul 10: Frameworks PHP i Millors Pràctiques
- Introducció als Frameworks PHP
- Començant amb Laravel
- Arquitectura MVC
- Millors Pràctiques en Desenvolupament PHP
- Proves i Depuració