Como remover elementos de vetor vazio em PHP
-
Utilize
array_filter()
Função para remover os elementos da array vazia em PHP -
Utilize
array_diff()
Função para remover os elementos vazios da array em PHP -
Utilize
unset()
Função para remover os elementos vazios do array 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
)