Els arrays multidimensionals són arrays que contenen altres arrays com a elements. Aquests arrays permeten emmagatzemar dades en una estructura de taula, com una matriu, on cada fila pot tenir múltiples columnes. En PHP, els arrays multidimensionals són molt útils per gestionar dades complexes.
- Creació d'Arrays Multidimensionals
Exemple Bàsic
Un array bidimensional és un array que conté altres arrays com a elements. Aquí tens un exemple d'un array bidimensional que representa una taula de dades:
<?php $taula = array( array("Nom" => "Anna", "Edat" => 25, "Ciutat" => "Barcelona"), array("Nom" => "Joan", "Edat" => 30, "Ciutat" => "Madrid"), array("Nom" => "Maria", "Edat" => 28, "Ciutat" => "València") ); ?>
En aquest exemple, $taula
és un array que conté tres arrays associatius, cadascun representant una fila de la taula.
Accés als Elements
Per accedir als elements d'un array multidimensional, utilitzem múltiples claus:
<?php echo $taula[0]["Nom"]; // Sortida: Anna echo $taula[1]["Edat"]; // Sortida: 30 echo $taula[2]["Ciutat"]; // Sortida: València ?>
- Iteració d'Arrays Multidimensionals
Utilitzant Bucles foreach
Podem utilitzar bucles foreach
per iterar sobre els elements d'un array multidimensional:
<?php foreach ($taula as $fila) { foreach ($fila as $clau => $valor) { echo "$clau: $valor "; } echo "<br>"; } ?>
Aquest codi recorrerà cada fila de l'array $taula
i després recorrerà cada clau i valor dins de cada fila, imprimint-los.
Utilitzant Bucles for
També podem utilitzar bucles for
si coneixem la mida de l'array:
<?php for ($i = 0; $i < count($taula); $i++) { echo "Nom: " . $taula[$i]["Nom"] . ", Edat: " . $taula[$i]["Edat"] . ", Ciutat: " . $taula[$i]["Ciutat"] . "<br>"; } ?>
- Arrays Multidimensionals de Més de Dos Nivells
Els arrays multidimensionals poden tenir més de dos nivells. Aquí tens un exemple d'un array tridimensional:
<?php $empresa = array( "Departament1" => array( "Empleat1" => array("Nom" => "Anna", "Edat" => 25), "Empleat2" => array("Nom" => "Joan", "Edat" => 30) ), "Departament2" => array( "Empleat1" => array("Nom" => "Maria", "Edat" => 28), "Empleat2" => array("Nom" => "Pere", "Edat" => 35) ) ); ?>
Accés als Elements
Per accedir als elements d'un array tridimensional, utilitzem tres claus:
<?php echo $empresa["Departament1"]["Empleat1"]["Nom"]; // Sortida: Anna echo $empresa["Departament2"]["Empleat2"]["Edat"]; // Sortida: 35 ?>
- Exercicis Pràctics
Exercici 1
Crea un array multidimensional que representi una taula de productes. Cada producte ha de tenir un nom, un preu i una quantitat en estoc. Després, imprimeix la informació de cada producte.
Solució
<?php $productes = array( array("Nom" => "Producte1", "Preu" => 10.5, "Quantitat" => 20), array("Nom" => "Producte2", "Preu" => 15.0, "Quantitat" => 35), array("Nom" => "Producte3", "Preu" => 7.75, "Quantitat" => 50) ); foreach ($productes as $producte) { echo "Nom: " . $producte["Nom"] . ", Preu: " . $producte["Preu"] . ", Quantitat: " . $producte["Quantitat"] . "<br>"; } ?>
Exercici 2
Crea un array tridimensional que representi una biblioteca. Cada secció de la biblioteca ha de tenir diverses prestatgeries, i cada prestatgeria ha de tenir diversos llibres amb títol i autor. Després, imprimeix la informació de cada llibre.
Solució
<?php $biblioteca = array( "Secció1" => array( "Prestatgeria1" => array( array("Títol" => "Llibre1", "Autor" => "Autor1"), array("Títol" => "Llibre2", "Autor" => "Autor2") ), "Prestatgeria2" => array( array("Títol" => "Llibre3", "Autor" => "Autor3"), array("Títol" => "Llibre4", "Autor" => "Autor4") ) ), "Secció2" => array( "Prestatgeria1" => array( array("Títol" => "Llibre5", "Autor" => "Autor5"), array("Títol" => "Llibre6", "Autor" => "Autor6") ), "Prestatgeria2" => array( array("Títol" => "Llibre7", "Autor" => "Autor7"), array("Títol" => "Llibre8", "Autor" => "Autor8") ) ) ); foreach ($biblioteca as $secció => $prestatgeries) { echo "Secció: $secció<br>"; foreach ($prestatgeries as $prestatgeria => $llibres) { echo " Prestatgeria: $prestatgeria<br>"; foreach ($llibres as $llibre) { echo " Títol: " . $llibre["Títol"] . ", Autor: " . $llibre["Autor"] . "<br>"; } } } ?>
Conclusió
Els arrays multidimensionals són una eina poderosa en PHP per gestionar dades complexes en una estructura de taula. Hem après com crear, accedir i iterar sobre arrays multidimensionals, així com treballar amb arrays de més de dos nivells. Practicar amb aquests conceptes t'ajudarà a gestionar dades de manera més eficient en els teus projectes 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ó