Lavorando con gli array di PHP, puรฒ capitare l’esigenza di doverli svuotare, rimuovendo cioรจ tutti gli elementi in essi contenuto. Il risultato, di fatto, sarร un array vuota.
L’operazione in questione รจ piuttosto semplice e puรฒ essere svolta utilizzando differenti modalitร operative.
Indice
Svuotare un array con la funzione unset()
Il modo piรน semplice e veloce per eliminare una variabile dalla memoria รจ utilizzare la funzione unset(). Mediante questa funzione PHP cancellerร non solo il contenuto ma la stessa variabile! Il suo funzionamento, applicato ad un array, รจ il seguente:
// creo e popolo un array
$frutta = array('mela', 'pera', 'banana');
// faccio una serie di operazioni
// ...
// ora ho bisogno di svuotare l'array!
unset($frutta);
Cosรฌ facendo la variabile $frutta non esisterร piรน, pertanto ogni tentativo di utilizzarla genererร un warning.
Svuotare un array mediante una nuova dichiarazione
Una tecnica davvero semplicissima per svuotare un array in PHP consiste nel dichiararla nuovamente, assegnandole come valore un array vuota, in questo modo:
// creo e popolo un array
$frutta = array('mela', 'pera', 'banana');
// faccio una serie di operazioni
// ...
// ora ho bisogno di svuotare l'array
$frutta = array();
A differenza dell’esempio precedente la variabile $frutta esiste ancora, quindi se provassimo ad utilizzarla il nostro codice non produrrร errori (sempre che la si richiami correttamente, ovviamente). E’ importante prestare attenzione a questa differenza tra le due tecniche, in quanto la seconda sarร preferibile ogni qual volta l’array dovesse servire nuovamente per essere, ad esempio, popolata di nuovi valori.
Cancellare specifici item dell’array
Per finire vediamo come cancellare non l’intero contenuto del nostro vettore ma solo specifici item. Supponiamo, ai fini del nostro esempio, di dover lavorare con questa variabile:
$frutta = array(
0 => 'mela',
1 => 'pera',
2 => 'banana'
);
L’array definitร qui sopra รจ identica a quella utilizzata negli esempi precedenti con la sola differenza che, al fine di rendere piรน chiaro il funzionamento delle operazioni che faremo in seguito, abbiamo inserito i reiferimenti alle chiavi in modo esplicito.
Supponiamo ora di voler eliminare l’elemento con valore “mela”. Per farlo potremo utilizzare nuovamente la funzione unset() applicandola non all’intera array ma al singolo item, in questo modo:
unset($frutta[0]);
Come potete vedere il parametro passato alla funzione unset() รจ il nome della variabile seguito dall’indicazione della chiave dell’item che desideriamo eliminare. Per avere conferma dell’avvenuta cancellazione sarร sufficiente stampare il contenuto dell’array mediante la funzione print_r().