📘 Array Associativi in PHP
Gli array associativi in PHP permettono di memorizzare coppie chiave → valore. A differenza degli array numerici, dove ogni elemento ha un indice (0, 1, 2...), negli array associativi le chiavi sono parole scelte dal programmatore.
Sono molto utili per rappresentare una scheda di dati o un record, come le informazioni di una persona, di un prodotto o di un libro.
Creazione di un array associativo
Si può creare con la funzione array() o con le parentesi quadre []:
<?php
$persona = [
"nome" => "Giulia",
"cognome" => "Bianchi",
"eta" => 22,
"citta" => "Milano"
];
echo $persona["nome"]; // Stampa "Giulia"
echo $persona["citta"]; // Stampa "Milano"
?>
Aggiungere e modificare elementi
Puoi aggiungere una nuova coppia chiave-valore o modificare una già esistente semplicemente assegnando un valore alla chiave:
<?php
$persona["professione"] = "Sviluppatrice"; // Aggiunge una nuova chiave
$persona["eta"] = 23; // Modifica il valore esistente
print_r($persona);
?>
👉 Se la chiave non esiste, viene creata automaticamente.
👉 Se la chiave esiste già, viene aggiornato il valore.
Scorrere un array associativo
Per leggere tutti i valori di un array associativo si usa un ciclo foreach:
<?php
foreach ($persona as $chiave => $valore) {
echo $chiave . ": " . $valore . "<br>";
}
?>
Output:
nome: Giulia
cognome: Bianchi
eta: 23
citta: Milano
professione: Sviluppatrice
Rimuovere un elemento
Per eliminare un elemento si usa la funzione unset():
<?php
unset($persona["citta"]);
print_r($persona);
?>
Funzioni utili per gli array associativi
| Funzione | Descrizione | Esempio |
|---|---|---|
| array_keys() | Restituisce tutte le chiavi | array_keys($persona) |
| array_values() | Restituisce tutti i valori | array_values($persona) |
| count() | Conta quanti elementi ci sono | count($persona) |
| isset() | Verifica se una chiave esiste | isset($persona["nome"]) |
Array associativi e concetto di “record”
Ogni array associativo può essere visto come un record: un insieme di campi che descrivono un elemento. Nel prossimo argomento imparerai a creare più record (array multidimensionali), ma ora concentriamoci su uno solo.
LABORATORIO
Array Associativi in PHP
In questo laboratorio creerai, modificherai e stamperai un array associativo. Gli esercizi sono divisi in tre livelli di difficoltà.
- Editor PHP (VS Code, Notepad++, ecc.)
- Server locale (XAMPP, MAMP, Laragon)
- Browser per testare gli script
1 Creare e stampare un array associativo
Crea un file chiamato array_1.php e scrivi:
<?php
$libro = [
"titolo" => "Il piccolo principe",
"autore" => "Antoine de Saint-Exupéry",
"anno" => 1943,
"genere" => "Narrativa"
];
echo "<h3>Informazioni sul libro:</h3>";
foreach ($libro as $campo => $valore) {
echo $campo . ": " . $valore . "<br>";
}
?>
Obiettivo: creare un array e stampare tutte le informazioni del libro.
2 Aggiungere, modificare e contare elementi
Crea un file array_2.php e scrivi:
<?php
$film = [
"titolo" => "Inception",
"regista" => "Christopher Nolan",
"anno" => 2010,
"genere" => "Fantascienza"
];
// Aggiungi un nuovo campo
$film["attore_principale"] = "Leonardo DiCaprio";
// Modifica il valore di un campo
$film["anno"] = 2011;
// Conta gli elementi
echo "Numero di campi: " . count($film) . "<br>";
// Stampa tutti i dati
foreach ($film as $campo => $valore) {
echo $campo . ": " . $valore . "<br>";
}
?>
Obiettivo: esercitarti ad aggiungere e modificare elementi in un array associativo e utilizzare count().
3 Verifica e rimozione con controlli
Crea un file array_3.php e scrivi:
<?php
$auto = [
"marca" => "Tesla",
"modello" => "Model 3",
"anno" => 2023,
"colore" => "Rosso"
];
// Verifica se esiste la chiave "colore"
if (isset($auto["colore"])) {
echo "Colore presente: " . $auto["colore"] . "<br>";
} else {
echo "Chiave colore mancante<br>";
}
// Rimuovi la chiave "anno"
unset($auto["anno"]);
// Mostra tutte le chiavi e i valori rimanenti
echo "<h4>Dati aggiornati:</h4>";
foreach ($auto as $campo => $valore) {
echo $campo . ": " . $valore . "<br>";
}
?>
Obiettivo: usare isset() e unset() per verificare e rimuovere elementi da un array associativo.
4 Sfida finale
Crea un array chiamato $studente con i seguenti campi: nome, cognome, classe, media. Poi:
- Aggiungi la chiave esito con valore "Promosso" se la media ≥ 6, altrimenti "Bocciato".
- Stampa tutte le informazioni in modo ordinato.
- Prova a cambiare la media e verifica se cambia anche l’esito.