PHP

Array Associativi Semplici

Lezione sugli Array Associativi semplici in PHP: spiegazione, esempi pratici e laboratorio guidato con esercizi di difficoltà crescente.


📘 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
FunzioneDescrizioneEsempio
array_keys()Restituisce tutte le chiaviarray_keys($persona)
array_values()Restituisce tutti i valoriarray_values($persona)
count()Conta quanti elementi ci sonocount($persona)
isset()Verifica se una chiave esisteisset($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à.


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.