Come eliminare un elemento da un Array in php

Giorgio Borelli

Gli Array in tutti i linguaggi di programmazione rivestono un ruolo importante, forse ancor di più in PHP dove vengono largamente usati, anche per la loro semplicità di utilizzo a mezzo questo linguaggio. Una delle funzionalità più richieste è sicuramente la possibilità di eliminare un elemento dell'array, sia che quest'ultimo sia associativo o meno.

 

Per rimuovere o cancellare un elemento di un Array in php si usa la funzione "unset()" , questa in genere viene utilizzata per cancellare (distruggere dalla memoria) qualsiasi tipo di variabile in php, ma torniamo a come si elimina un elemento da un Array con un semplice esempio, supponiamo di avere il seguente array associativo:

 

<?php
  $arr = array("a"=>"milano", "b"=>"roma", "c"=>"palermo", "d"=>"napoli");
  unset($arr["b"]);
?>

Molto intuitivo capire che con la funzione unset siamo andati ad eliminare il secondo elemento dell'array, quello associato alla chiave "b" con valore "roma".

 

Allo stesso modo possiamo usare unset per cancellare l'elemento di un array ad una data posizione dell'indice, rifacendoci all'array precedente possiamo scrivere così:

 

<?php
  unset($arr[0]);
?>

 

In questo caso abbiamo eliminato il primo elemento dell'array, quello in posizione zero (perché sappiamo tutti che l'indice dell'array parte da zero).

 

In php esiste anche un'altra comoda funzione che consente di eliminare con semplicità uno o più elementi di un array, si tratta della funzione "array_splice()", questa prende tre parametri, il primo l'array sul quale andare ad operare l'eliminazione, il secondo e terzo parametro rappresentano invece l'offset, ovvero l'indice (posizione) da cui partire a cancellare ed il numero di elementi (la lunghezza) da eliminare; rifacendoci sempre all'array precedente scriviamo la seguente istruzione:

 

<?php
  array_splice($arr, 2, 2);
?>

 

In questo caso array_splice andrebbe a cancellare 2 elementi dall'array $arr a partire dalla posizione 2 (quindi dal terzo elemento), di fatto eliminerebbe gli ultimi 2 elementi dell'array con valore "palermo" e "napoli".

 

Si potrebbe approfondire il discorso dicendo che array_splice può sostituire gli elementi di un array con altri, ma rimanendo focalizzati sul discorso "Come eliminare gli elementi di un array in php" direi che questo è quanto, adattare le funzioni unset() ed array_splice alle vostre specifiche esigenze dovrebbe essere un gioco da ragazzi, ad ogni modo per ogni domanda potete usare lo spazio dei commenti.

Categorie: PHP

Tags: ,

Aggiungi Commento

biuquote
Loading