Rimuovi elementi array vuoti in PHP

Minahil Noor 30 marzo 2021
  1. Usa la funzione array_filter() per rimuovere gli elementi array vuoti in PHP
  2. Usa la funzione array_diff() per rimuovere gli elementi array vuoti in PHP
  3. Usa la funzione unset() per rimuovere gli elementi array vuoti in PHP
Rimuovi elementi array vuoti in PHP

In questo articolo, introdurremo metodi per rimuovere gli elementi dell’array vuoto in PHP.

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

Usa la funzione array_filter() per rimuovere gli elementi array vuoti in PHP

La funzione incorporata array_filter() rimuove tutti gli elementi vuoti, gli zeri, i valori falsi e nulli da un array. Questa funzione utilizza una funzione di callback per filtrare i valori dell’array. Se non viene specificata alcuna funzione di callback, rimuove gli elementi vuoti, gli zeri, i valori false e null.

La sintassi corretta per utilizzare questa funzione è la seguente

array_filter($arrayName, $callbackFunction, $callbackParameter)

Qui il $arrayName è l’unico parametro obbligatorio. Il parametro $callbackFunction è la funzione di callback specificata per l’operazione sull’array. Il parametro $callbackParameter indica i parametri passati alla funzione di callback.

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

$flowers = array_filter($flowers);
echo "The array is:\n";
print_r($flowers);
?>

Non abbiamo specificato alcuna funzione di callback, quindi l’array restituito non ha elementi vuoti, zeri e valori nulli.

Produzione:

The array is:
Array
(
    [0] => Rose
    [1] => Lili
    [3] => Jasmine
    [4] => Hibiscus
    [6] => Tulip
    [8] => Sun Flower
    [10] => Daffodil
    [11] => Daisy
)

Usa la funzione array_diff() per rimuovere gli elementi array vuoti in PHP

La funzione incorporata array_diff() è usata per trovare la differenza tra due o più array. Può essere utilizzato per eliminare elementi vuoti da un array. Non reindicizza l’array. La sintassi corretta per utilizzare questa funzione è la seguente.

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

Accetta il numero N di parametri (array). Confronta il primo array con tutti gli altri array. 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",
                0,
                "Hibiscus",
                "",
                "Tulip",
                null,
                "Sun Flower",
                "Daffodil",
                "Daisy");

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

Qui, abbiamo confrontato il nostro array con un array che contiene la stringa vuota, 0 e il valore nullo. Quindi l’array restituito non ha elementi vuoti.

Produzione:

The array is:
Array
(
    [0] => Rose
    [1] => Lili
    [3] => Jasmine
    [4] => Hibiscus
    [6] => Tulip
    [8] => Sun Flower
    [10] => Daffodil
    [11] => Daisy
)

Usa la funzione unset() per rimuovere gli elementi array vuoti in PHP

La funzione unset() rimuove il valore memorizzato in una variabile. Possiamo usarlo per rimuovere gli elementi vuoti da un array. La sintassi corretta per utilizzare questa funzione è la seguente.

unset($variableName);

Accetta solo un parametro $ nomevariabile. Il $ nomeVariabile è una variabile di cui vogliamo rimuovere il valore.

<?php
//Declare the array
$flowers = array("Rose","Lili","","Jasmine","Hibiscus","Tulip","Sun Flower","","Daffodil","Daisy");
foreach($flowers as $key => $link) 
{ 
    if($link === '') 
    {
        unset($flowers[$key]); 
    } 
} 
echo "The array is:\n";
print_r($flowers);
?>

Qui abbiamo usato un bucle foreach per trovare gli elementi dell’array vuoti. Se un elemento dell’array è vuoto, il suo indice insieme al nome dell’array viene passato come parametro alla funzione unset().

Produzione:

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

Articolo correlato - PHP Array