Un'array è una struttura di dati che memorizza delle informazioni complesse. I dati possono essere di qualsiasi tipo, ad esempio numeri, stringhe o oggetti. Ogni valore è identificato da un'etichetta chiamata "chiave", che può essere un numero intero o una stringa.
In quest'ultimo caso, stiamo parlando di un'array associativa, una struttura di dati che accoppia ogni elemento in una sequenza con una chiave univoca. La chiave può essere di qualsiasi tipo, inclusa un'altra array. Le array associative sono usate per memorizzare i dati a cui è possibile accedere in base al nome, ad esempio un'array con chiavi le Nazioni Europee e come valore le rispettive capitali.
$countries = [
'Francia' => 'Parigi',
'Germania' => 'Berlino',
'Italia' => 'Roma',
'Spagna' => 'Madrid'
];
Le array possono essere indicizzate in due modi: per posizione o per chiave, a seconda che si tratti di array numeriche o associative. Quando sono indicizzate in base alla posizione, il primo elemento della array si trova nella posizione 0, il secondo nella posizione 1 e così via. L'ultimo elemento in un'array ha un indice pari al numero di elementi nella array, meno 1.
Ad esempio, l'indice dell'ultimo elemento in un'array di cinque elementi è 4. Se indicizzata per chiave associativa, un elemento dell'array deve essere richiamato con una chiave esistente e viene restituito il valore corrispondente.
// Stampa Roma
echo $countries['Italia'];
In PHP, un'array viene creata usando la funzione array() o la funzione []. Queste funzioni accettano un elenco di valori come parametro che possono essere di qualsiasi tipo, incluse altre matrici.
Array monodimensionali e multidimensionali
Le array monodimensionali sono il tipo di array più semplice. Sono solo elenchi di dati ed è possibile accedere a qualsiasi elemento dell'elenco specificandone la chiave. Le array multidimensionali sono più complesse, in quanto contengono altre array come elementi.
Ad esempio, un'array bidimensionale è una griglia di dati, in cui è possibile accedere ad ogni elemento della griglia specificando due coordinate.
$cars = [
'Ford' => ['Fiesta', 'Focus', 'Kuga'],
'Fiat' => ['Panda', 'Multipla', '500'],
'Opel' => ['Corsa', 'Astra', 'Insignia']
];
// Stampa Focus
echo $cars['Ford'][1];
Aggiungere un elemento ad un'array
Il modo più semplice per aggiungere un elemento ad un'array PHP è usare la sua chiave come indice per il nuovo elemento.
Ad esempio, il codice seguente crea un'array denominata "frutta" e successivamente vi aggiunge un elemento:
$frutta = array("mela", "banana", "ciliegia");
$frutta[] = "uva";
Il codice di cui sopra assegna il valore "uva" alla chiave 3 nella array "frutta".
Eliminare un elemento dell'array
Se si vuole eliminare un elemento da un'array in PHP, si può usare la funzione unset(). Questa funzione accetta un parametro, che nel nostro caso è il nome della variabile array con la chiave che vogliamo eliminare. Ecco un esempio:
$items = array("mela", "arancia", "banana");
unset($items[1]);
Questo eliminerà l'elemento "arancia" dall'array $items.
Iterare un'array
L'iterazione è il processo di ripetizione di un insieme di istruzioni per un dato numero di volte. In PHP è possibile utilizzare il ciclo foreach per iterare le array. Il ciclo foreach eseguirà il blocco di codice per ogni elemento che compone l'array. All'interno del ciclo è possibile accedere all'elemento corrente dell'oggetto utilizzando un costrutto del genere:
$frutta = array("mela", "banana", "ciliegia");
foreach ($frutta as $key => $value) {
echo $frutta[$key];
}
Stampare un'array a video
Stampare array è un compito molto comune in PHP. Per stampare un'array sullo schermo, è possibile utilizzare la funzione print_r().
Questa funzione stampa la array in un formato leggibile. Ecco un esempio: Questo stamperà quanto segue sullo schermo:
Array ( [0] => mela [1] => arancione [2] => banana )