Cómo quitar elementos de array vacíos en PHP
-
Usando la función
array_filter()
para eliminar los elementos de array vacíos en PHP -
Usando la función
array_diff()
para eliminar los elementos de array vacíos en PHP -
Usando la función
unset()
para eliminar los elementos de array vacíos en PHP
En este artículo, presentaremos métodos para eliminar los elementos de array vacíos en PHP.
- Usando la función
array_filter()
- Usando la función
array_diff()
- Uso de la función
unset()
Usando la función array_filter()
para eliminar los elementos de array vacíos en PHP
La función incorporada array_filter()
elimina todos los elementos vacíos, ceros, valores falsos y nulos de un array. Esta función utiliza una función de devolución de llamada para filtrar los valores del array. Si no se especifica una función de devolución de llamada, elimina los elementos vacíos, ceros, valores false
y null
.
La sintaxis correcta para usar esta función es la siguiente
array_filter($arrayName, $callbackFunction, $callbackParameter)
Aquí el $arrayName
es el único parámetro obligatorio. El parámetro $callbackFunction
es la función de devolución de llamada especificada para la operación en el array. El parámetro $callbackParameter
informa sobre los parámetros pasados a la función de devolución de llamada.
<?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);
?>
No hemos especificado ninguna función de devolución de llamada, por lo tanto, el array devuelta no tiene elementos vacíos, ceros y valores nulos.
Producción :
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[6] => Tulip
[8] => Sun Flower
[10] => Daffodil
[11] => Daisy
)
Usando la función array_diff()
para eliminar los elementos de array vacíos en PHP
La función incorporada array_diff()
se usa para encontrar la diferencia entre dos o más arrays
. Se puede usar para eliminar elementos vacíos de un array. No vuelve a indexar el array. La sintaxis correcta para usar esta función es la siguiente.
array_diff($array1, $array2, $array3, ... , $arrayN);
Toma N número de los parámetros (matrices). Compara la primera array con todas las demás matrices. Devuelve un array que contiene todos los elementos de la primera array que no están presentes en otras matrices.
<?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);
?>
Aquí, hemos comparado nuestra array con un array que contiene la cadena vacía, 0 y el valor nulo. Entonces el array devuelta no tiene elementos vacíos.
Producción :
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[6] => Tulip
[8] => Sun Flower
[10] => Daffodil
[11] => Daisy
)
Usando la función unset()
para eliminar los elementos de array vacíos en PHP
La función unset()
elimina el valor almacenado en una variable. Podemos usarlo para eliminar los elementos vacíos de un array. La sintaxis correcta para usar esta función es la siguiente.
unset($variableName);
Solo acepta un parámetro $variableName
. El $variableName
es una variable de la que queremos eliminar el 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);
?>
Aquí, hemos usado un bucle foreach
para encontrar los elementos de array vacíos. Si un elemento de array está vacío, su índice junto con el nombre del array se pasa como un parámetro a la función unset()
.
Producción :
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[5] => Tulip
[6] => Sun Flower
[8] => Daffodil
[9] => Daisy
)