Salta ai contenuti
Manuale LogoManuale Logo

Array associativi

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.

<?php
$utente = [
"nome" => "Luca",
"eta" => 28,
];
echo $utente["nome"];

Output:

Luca
<?php
$prodotto = [
"nome" => "Quaderno",
"prezzo" => 3.50,
];
$prodotto["prezzo"] = 3.20;

Stai cambiando solo il valore associato alla chiave "prezzo".

<?php
$prodotto = [
"nome" => "Quaderno",
];
$prodotto["disponibile"] = true;
<?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.

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.

Prima di leggere una chiave che potrebbe mancare, puoi controllarla con isset.

<?php
if (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”
<?php
echo $utente[nome];

Scrivi invece:

<?php
echo $utente["nome"];

Le virgolette indicano a PHP che nome è una chiave testuale.