Le array in PHP


luca.terribili avatar
Luca Terribili

Un array è essenzialmente una collezione di variabili, ognuna delle quali ha il proprio nome e valore. Questo rende le array lo strumento ideale per archiviare e manipolare grandi quantità di dati correlati in modo efficiente. Inoltre, dato che gli array sono una parte fondamentale di PHP, il linguaggio è dotato di una serie di strumenti e tecniche per lavorare con essi. 

Esistono due modi che possono essere utilizzati per definire un array in PHP. Il primo è utilizzare la funzione array(), che prende una serie di valori separati da virgole e li converte in un singolo array. La seconda tecnica è utilizzare semplicemente le parentesi quadre per dichiarare i singoli elementi di un array, come il codice seguente:

$array_1 = ['uno', 'due', 'tre'];

In questo caso, PHP aggiungerà automaticamente le chiavi numeriche partendo da 0 fino a 2. Possiamo ovviamente definire le nostre chiavi utilizzando questa sintassi:

$array_1 = [
    "first_name" => "Luca",
    "last_name" => "foo",
];

La chiave può essere un intero o una stringa mentre il valore può essere di qualsiasi tipo.

Inoltre, si verificheranno i seguenti cast di chiavi:

  • Le stringhe che contengono numeri decimali validi, a meno che il numero non sia preceduto dal segno +, verranno convertite nel tipo int
  • Anche i float vengono trasformati in int, il che significa che la parte frazionaria viene troncata. Ad esempio, la chiave 8,7 verrà memorizzata sotto 8
  • Anche i bool vengono trasformati in int, cioè la chiave true sarà memorizzata sotto 1 e la chiave false sotto 0
  • Null viene trasformato in una stringa vuota

Gli array e gli oggetti non possono essere utilizzati come chiavi. In caso contrario, verrà emesso un avviso: Tipo di offset illegale.

Accesso agli elementi della matrice

È possibile accedere agli elementi di una matrice utilizzando la sintassi array[chiave].

$array_1 = [
    "first_name" => "Luca",
    "last_name" => "foo"];
echo $array_1['first_name'];

L'esempio precedente produrrà questo risultato:

string(4) "Luca"

Creazione/modifica di un'array con la sintassi delle parentesi quadre

Un array esistente può essere modificato impostando esplicitamente dei valori al suo interno. Ciò avviene assegnando dei valori all'array, specificando la chiave tra parentesi. La chiave può anche essere omessa.


$arr[chiave] = valore;
$arr[] = valore;

Se $arr non esiste ancora o è impostato su null o false, verrà creato, quindi questo è anche un modo alternativo per creare un array. Questa pratica è comunque sconsigliata, perché se $arr contiene già un valore, questo valore rimarrà al suo posto e [] potrebbe diventare l'operatore di accesso alla stringa. È sempre meglio inizializzare una variabile con un'assegnazione diretta.

Cancellare un elemento dall'array

Per eliminare un elemento di un array, si dovrà utilizzare la funzione unset, facendo riferimento alla variabile dell'array tra parentesi e poi fornendo la chiave dell'elemento che si desidera eliminare all'interno di queste parentesi. 

$array_1 = [
    "first_name" => "Luca",
    "last_name" => "foo"];
unset $array_1['first_name'];

Inoltre, esistono numerosi metodi per iterare gli elementi di un array, dove la funzione foreach() è lo strumento principale, ma di questo parleremo nella lezione dedicata ai cicli in PHP.

Condividi