Array associativi
Dalle posizioni ai nomi
Sezione intitolata “Dalle posizioni ai nomi”Negli array indicizzati leggi i valori con numeri come 0 e 1; negli array associativi usi chiavi testuali.
<?php$utente = [ "nome" => "Luca", "eta" => 28, "email" => "luca@example.com",];Qui "nome", "eta" ed "email" sono le chiavi.
Leggere un valore
Sezione intitolata “Leggere un valore”<?php$utente = [ "nome" => "Luca", "eta" => 28,];
echo $utente["nome"];Output:
LucaModificare un valore
Sezione intitolata “Modificare un valore”<?php$prodotto = [ "nome" => "Quaderno", "prezzo" => 3.50,];
$prodotto["prezzo"] = 3.20;Stai cambiando solo il valore associato alla chiave "prezzo".
Aggiungere una chiave
Sezione intitolata “Aggiungere una chiave”<?php$prodotto = [ "nome" => "Quaderno",];
$prodotto["disponibile"] = true;Scorrere chiavi e valori
Sezione intitolata “Scorrere chiavi e valori”<?php$utente = [ "nome" => "Sara", "eta" => 31,];
foreach ($utente as $chiave => $valore) { echo "$chiave: $valore\n";}Gli array associativi sono utili per rappresentare profili, prodotti, impostazioni e altri dati con un nome preciso.
Un prodotto come array associativo
Sezione intitolata “Un prodotto come array associativo”Quando i dati descrivono una stessa cosa, le chiavi rendono il codice più leggibile.
<?php$prodotto = [ "nome" => "Penna", "prezzo" => 1.20, "disponibile" => true,];
if ($prodotto["disponibile"]) { echo $prodotto["nome"] . " costa " . $prodotto["prezzo"] . " euro";}Le chiavi rendono immediato il significato di ogni valore.
Controllare se una chiave esiste
Sezione intitolata “Controllare se una chiave esiste”Prima di leggere una chiave che potrebbe mancare, puoi controllarla con isset.
<?phpif (isset($utente["email"])) { echo $utente["email"];}Oppure puoi usare ?? per dare un valore predefinito.
<?php$email = $utente["email"] ?? "email non disponibile";Errore comune: usare il nome della chiave senza virgolette
Sezione intitolata “Errore comune: usare il nome della chiave senza virgolette”<?phpecho $utente[nome];Scrivi invece:
<?phpecho $utente["nome"];Le virgolette indicano a PHP che nome è una chiave testuale.