In termini di funzionalità gli array associativi sono molto simili agli array con indici numerici, ma sono diversi in termini di indice. Nel caso degli array associativi, gli elementi vengono individuati da un indice di tipo stringa, chiamato chiave (key), che stabilisce un associazione tra chiavi e valori.
Vediamo subito un esempio di utilizzo:
<?php
$array = [
'nome' => 'Mario',
'cognome' => 'Rossi',
'eta' => '35',
'lavoro' => 'programmatore'
];
echo $array['nome']."\n"; // Mario
echo "$array[lavoro]"; // programmatore
// l'istruzione echo "$array['lavoro']"; genera un errore di sintassi
L'associazione tra chiavi e valori viene fatta attraverso l'operatore di assegnamento =>
, mentre è possibile riferirsi ad un elemento tramite la sua chiave.
Nota: quando si fa l'echo di una stringa tra doppi apici contenente l'elemento di un array associativo, è necessario riferirsi all'elemento omettendo gli apici della chiave, altrimenti il programma genera un errore di sintassi.
Grazie alla loro potenza e flessibilità, gli array associativi sono molto utilizzati in PHP.
Un tipico utilizzo è con la funzione di PHP in_array()
, che verifica la presenza di un elemento all'interno di un insieme di valori, come mostrato nell'esempio:
<?php
$langs = [
'it' => 'italiano',
'en' => 'inglese',
'es' => 'spagnolo',
'fr' => 'francese',
'de' => 'tedesco',
'ru' => 'russo'
];
if (in_array('spagnolo', $langs)) {
echo "Lingua supportata";
} else {
echo "Lingua non supportata";
}