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 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 collegato 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 dati che hanno 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 piu leggibile.
<?php$prodotto = [ "nome" => "Penna", "prezzo" => 1.20, "disponibile" => true,];
if ($prodotto["disponibile"]) { echo $prodotto["nome"] . " costa " . $prodotto["prezzo"] . " euro";}Leggendo le chiavi capisci subito che cosa rappresenta ogni valore.
Controllare se una chiave esiste
Sezione intitolata “Controllare se una chiave esiste”Prima di leggere una chiave che potrebbe mancare, puoi usare 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 fanno capire a PHP che nome e una chiave testuale.