Como remover elementos de vetor vazio em PHP

Minahil Noor 30 janeiro 2023
  1. Utilize array_filter() Função para remover os elementos da array vazia em PHP
  2. Utilize array_diff() Função para remover os elementos vazios da array em PHP
  3. Utilize unset() Função para remover os elementos vazios do array em PHP
Como remover elementos de vetor vazio em PHP

Neste artigo, vamos introduzir métodos para remover os elementos de array vazia no PHP.

  • Utilizando a função array_filter()
  • Utilizando a função array_diff()
  • Utilizando a função unset()

Utilize array_filter() Função para remover os elementos da array vazia em PHP

A função integrada array_filter() remove todos os elementos vazios, zeros, valores falsos e nulos de uma array. Esta função utiliza uma função de chamada de retorno para filtrar os valores da array. Se nenhuma função de retorno for especificada, ela remove os elementos vazios, zeros, valores false e null.

A sintaxe correta para utilizar esta função é a seguinte

array_filter($arrayName, $callbackFunction, $callbackParameter)

Aqui o $arrayName é o único parâmetro obrigatório. O parâmetro $callbackFunction é a função de chamada de retorno especificada para a operação na array. O parâmetro $callbackParameter informa sobre os parâmetros passados para a função 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);
?>

Não especificamos nenhuma função de retorno, portanto a array retornada não tem elementos vazios, zeros e valores nulos.

Resultado:

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

Utilize array_diff() Função para remover os elementos vazios da array em PHP

A função integrada array_diff() é utilizada para encontrar a diferença entre duas ou mais arrays. Ela pode ser utilizada para excluir elementos vazios de uma array. Ela não reindexa o array. A sintaxe correta para utilizar esta função é a seguinte.

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

É necessário o número N dos parâmetros (arrays). Ele compara o primeiro array com todos os outros arrays. Ele retorna um array que contém todos os elementos do primeiro array que não estão presentes em outros arrays.

<?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);
?>

Aqui, comparamos nosso array com um array que contém a string vazia, 0, e valor nulo. Então, o array retornado não tem elementos vazios.

Resultado:

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

Utilize unset() Função para remover os elementos vazios do array em PHP

A função unset() remove o valor armazenado em uma variável. Podemos utilizá-la para remover os elementos vazios de um array. A sintaxe correta para utilizar esta função é a seguinte.

unset($variableName);

Ela aceita apenas um parâmetro $variableName. O $variableName é uma variável da qual queremos remover o valor.

<?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);
?>

Aqui, utilizamos um loop foreach para encontrar os elementos vazios do array. Se um elemento de array estiver vazio, seu índice junto com o nome do array é passado como parâmetro para a função unset().

Resultado:

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

Artigo relacionado - PHP Array