Come cancellare un vettore in php

A volte necessario azzerare i dati di un vettore durante l'esecuzione di uno script. Per farlo si possono percorrere due strade: l'istruzione Unset() oppure una nuova operazione di dichiarazione della variabile.

Perché cancellare il contenuto di un vettore

E' sempre consigliabile cancellare il contenuto delle variabile vettore ( array ) negli algoritmi ricorsivi, per evitare il rischio di rielaborare le precedenti assegnazioni di valore nei cicli successivi.

Esempio. Il vettore studenti è utilizzato per calcolare le medie per ogni classe di una scuola. Al primo ciclo, nel vettore sono assegnati i dati di 20 studenti della sezione A. Nel ciclo successivo al vettore sono assegnati i dati di 17 studenti della sezione B. Tuttavia, il vettore contiene ancora i voto degli ultimi tre studenti della sezione A.

Come funziona l'istruzione Unset

Nel linguaggio Php c'è un'apposita istruzione per cancellare il contenuto di una variabile vettore ( array ).

unset($var);

Questa istruzione permette di svuotare il contenuto di un vettore con un'operazione di cancellazione e di azzeramento dell'array.

La re-dichiarazione dell'array

In alternativa è anche possibile dichiarare nuovamente la variabile in questione come array.

L'operazione di cancellazione cancella tutti i valori precedentemente memorizzati nella variabile vettore.

$var=array();

Un esempio pratico

Prendiamo come esempio una variabile vettore $city composta dagli elementi "Roma", "Milano", "Napoli".

$city[1]="Roma";
$city[2]="Milano";
$city[3]="Napoli";

Un programma ricorsivo potrebbe riutilizzare lo stesso array $city più volte durante l'esecuzione. Ad esempio, nel caso nel corso dell'esecuzione il vettore $city potrebbe essere utilizzato per memorizzare delle città straniere o altro. Ad esempio, se assegnassimo alla variabile $city i due nuovi valori:

$city[1]="Washington";
$city[2]="New York";

Il valore $city[3] resterebbe assegnato a "Napoli". Per eliminare dalla memoria le tracce del precedente utilizzo della variabile è necessario "svuotare" l'array. Per farlo è sufficiente effettuare una nuova operazione di dichiarazione della variabile $city prima della precedente fase di assegnazione. In altri termini, dovremmo scrivere nel seguente modo:

$city=array();
$city[1]="Washington";
$city[2]="New York";

La nuova operazione di dichiarazione $city=array() cancella tutti i valori precedentemente assegnati al vettore array $city.

Cosa cambia rispetto al caso precedente?

In questo caso, dopo l'assegnazione dei due nuovi valori "Washington" e "New York", possiamo essere sicuri che il resto dell'array è vuoto.

In parole semplici, non c'è più il valore "Napoli" registrato sotto l'elemento $city[3].



Per scrivere un commento

knowledge base

Il linguaggio Php

FAQ