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.

  1. 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
?>

  1. 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>";
}
?>

  1. 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
?>

  1. 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

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