Els arrays associatius són una estructura de dades fonamental en PHP que permeten emmagatzemar dades en parelles clau-valor. A diferència dels arrays indexats, on els elements es referencien per un índex numèric, en els arrays associatius les claus poden ser cadenes de text, la qual cosa facilita l'accés i la manipulació de les dades.

Creació d'Arrays Associatius

Per crear un array associatiu en PHP, utilitzem la sintaxi següent:

$edats = array(
    "Joan" => 25,
    "Maria" => 30,
    "Pere" => 35
);

També podem utilitzar la sintaxi de colzes:

$edats = [
    "Joan" => 25,
    "Maria" => 30,
    "Pere" => 35
];

Accés als Elements

Per accedir a un element d'un array associatiu, utilitzem la clau corresponent:

echo $edats["Joan"]; // Sortida: 25

Afegir i Modificar Elements

Podem afegir nous elements o modificar els existents assignant un valor a una clau específica:

$edats["Anna"] = 28; // Afegeix un nou element
$edats["Joan"] = 26; // Modifica l'element existent

Eliminar Elements

Per eliminar un element d'un array associatiu, utilitzem la funció unset:

unset($edats["Pere"]);

Iteració sobre Arrays Associatius

Podem utilitzar un bucle foreach per iterar sobre els elements d'un array associatiu:

foreach ($edats as $nom => $edat) {
    echo "Nom: $nom, Edat: $edat\n";
}

Exemple Pràctic

A continuació, es mostra un exemple complet que demostra la creació, modificació, accés i iteració d'un array associatiu:

<?php
// Creació de l'array associatiu
$edats = [
    "Joan" => 25,
    "Maria" => 30,
    "Pere" => 35
];

// Accés a un element
echo "L'edat de Joan és: " . $edats["Joan"] . "\n";

// Afegir un nou element
$edats["Anna"] = 28;

// Modificar un element existent
$edats["Joan"] = 26;

// Eliminar un element
unset($edats["Pere"]);

// Iteració sobre l'array
foreach ($edats as $nom => $edat) {
    echo "Nom: $nom, Edat: $edat\n";
}
?>

Exercicis Pràctics

Exercici 1

Crea un array associatiu que emmagatzemi els noms i les notes d'un grup d'estudiants. Després, imprimeix el nom i la nota de cada estudiant.

Solució

<?php
$notes = [
    "Carla" => 8.5,
    "Marc" => 7.0,
    "Laura" => 9.2,
    "Jordi" => 6.8
];

foreach ($notes as $nom => $nota) {
    echo "Estudiant: $nom, Nota: $nota\n";
}
?>

Exercici 2

Afegeix un nou estudiant a l'array de l'exercici anterior amb el nom "Anna" i una nota de 7.5. Després, modifica la nota de "Marc" a 7.8 i elimina l'estudiant "Jordi". Finalment, imprimeix l'array actualitzat.

Solució

<?php
$notes = [
    "Carla" => 8.5,
    "Marc" => 7.0,
    "Laura" => 9.2,
    "Jordi" => 6.8
];

// Afegir un nou estudiant
$notes["Anna"] = 7.5;

// Modificar la nota de Marc
$notes["Marc"] = 7.8;

// Eliminar l'estudiant Jordi
unset($notes["Jordi"]);

// Imprimir l'array actualitzat
foreach ($notes as $nom => $nota) {
    echo "Estudiant: $nom, Nota: $nota\n";
}
?>

Errors Comuns i Consells

  1. Ús de claus no existents: Intentar accedir a una clau que no existeix en l'array retornarà un error. Assegura't que la clau existeix abans d'accedir-hi.

    if (isset($edats["Joan"])) {
        echo $edats["Joan"];
    } else {
        echo "La clau 'Joan' no existeix.";
    }
    
  2. Confusió entre arrays indexats i associatius: Recorda que en els arrays associatius les claus són cadenes de text, mentre que en els arrays indexats són números.

  3. Iteració incorrecta: Quan iteris sobre un array associatiu, assegura't d'utilitzar tant la clau com el valor en el bucle foreach.

Conclusió

Els arrays associatius són una eina poderosa en PHP per emmagatzemar i gestionar dades en parelles clau-valor. Comprendre com crear, accedir, modificar i iterar sobre aquests arrays és fonamental per a qualsevol programador PHP. Amb la pràctica, podràs utilitzar arrays associatius de manera eficient en els teus projectes.

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