Elimina un elemento da un array in PHP

Minahil Noor 3 gennaio 2023
  1. Usa la funzione unset() per eliminare un elemento da un array in PHP
  2. Usa la funzione array_splice() per eliminare un elemento da un array in PHP
  3. Usa la funzione array_diff() per eliminare un elemento da un array in PHP
Elimina un elemento da un array in PHP

In questo articolo, introdurremo metodi per eliminare un elemento da un array in PHP.

  • Utilizzo della funzione unset()
  • Utilizzo della funzione array_splice()
  • Utilizzo della funzione array_diff()

Usa la funzione unset() per eliminare un elemento da un array in PHP

La funzione incorporata unset() viene utilizzata per eliminare il valore memorizzato in una variabile. È applicabile solo alle variabili locali. Non riflette il suo comportamento sulle variabili globali. Possiamo usare questa funzione per eliminare un elemento da un array. La sintassi corretta per utilizzare questa funzione è la seguente

unset($variableName);

Ha un unico parametro obbligatorio. La variabile di cui si desidera eliminare il valore viene passata come parametro a questa funzione.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                "Hibiscus",
                "Tulip",
                "Sun Flower",
                "Daffodil",
                "Daisy");

unset($flowers[1]);
echo "The array is:\n";
print_r($flowers);
?>

Questa funzione può eliminare un valore alla volta. Il nome dell’array insieme all’indice dell’elemento ($flowers[1]) viene passato come parametro. Questa funzione non modifica i valori dell’indice. I valori dell’indice rimangono gli stessi di prima.

Produzione:

The array is:
Array
(
    [0] => Rose
    [2] => Jasmine
    [3] => Hibiscus
    [4] => Tulip
    [5] => Sun Flower
    [6] => Daffodil
    [7] => Daisy
)

Come puoi vedere, l’indice 1 manca dopo aver applicato la funzione unset.

Usa la funzione array_splice() per eliminare un elemento da un array in PHP

La funzione array_splice() è usata per aggiungere elementi a un array o eliminare elementi da un array. La sintassi corretta per utilizzare questa funzione è la seguente

array_splice($arrayName, $startingIndex, $numOfElements, $array2Name);

Ha quattro parametri.

  1. $arrayName è un parametro obbligatorio. È l’array i cui elementi verranno eliminati.
  2. $startingIndex è l’indice dell’elemento che vogliamo eliminare.
  3. $numOfElements è il numero di elementi che vogliamo eliminare dall’indice iniziale.
  4. $array2Name è un array di elementi che vogliamo aggiungere.

$numOfElements e $array2Name sono opzionali.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                "Hibiscus",
                "Tulip",
                "Sun Flower",
                "Daffodil",
                "Daisy");

array_splice($flowers, 4, 3);
echo "The array is:\n";
print_r($flowers);
?>

L’array $flowers viene passato come parametro a questa funzione insieme all’indice iniziale 4 e al numero di elementi che vogliamo eliminare-3. In questo modo, possiamo eliminare più elementi da un array.

Produzione:

The array is:
Array
(
    [0] => Rose
    [1] => Lili
    [2] => Jasmine
    [3] => Hibiscus
    [4] => Daisy
)
Nota

Diversamente da unset, la funzione array_splice reindicizzerà automaticamente le chiavi.

Daisy ha il nuovo indice come 4 ma non quello originale - 7, dopo aver eliminato tre elementi prima di esso.

Usa la funzione array_diff() per eliminare un elemento da un array in PHP

La funzione incorporata array_diff() trova la differenza tra due o più array. Può essere utilizzato per eliminare più valori da un array senza influire sui loro indici. La sintassi corretta per utilizzare questa funzione è la seguente

array_diff($array1, $array2, $array3, ... , $arrayN);

Richiede un numero N di array come parametri. Confronta il primo array con tutti gli altri array e restituisce un array che contiene tutti gli elementi del primo array che non sono presenti in altri array.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                "Hibiscus",
                "Tulip",
                "Sun Flower",
                "Daffodil",
                "Daisy");

$flowers = array_diff($flowers, array("Rose","Lili"));
echo "The array is:\n";
print_r($flowers);
?>

Qui, il primo array che abbiamo passato è $flowers e il secondo array contiene gli elementi che vogliamo eliminare da $flowers. Questa funzione non modifica gli indici degli elementi dell’array.

Produzione:

The array is:
Array
(
    [2] => Jasmine
    [3] => Hibiscus
    [4] => Tulip
    [5] => Sun Flower
    [6] => Daffodil
    [7] => Daisy
)

Articolo correlato - PHP Array