如何在 PHP 中删除空数组元素
Minahil Noor
2023年1月30日
2020年6月9日
在本文中,我们将介绍一些方法来删除 PHP 中的空数组元素。
- 使用
array_filter()
函数 - 使用
array_diff()
函数 - 使用
unset()
函数
使用 array_filter()
函数删除 PHP 中的空数组元素
内置函数 array_filter()
删除了数组中的所有空元素,比如:0
,false
和 null
值。此函数使用回调函数来过滤数组值。如果未指定回调函数,它将删除空元素,0
,false
和 null
值。
使用此函数的正确语法如下
array_filter($arrayName, $callbackFunction, $callbackParameter)
这里的 $arrayName
是唯一的必需参数。参数 $callbackFunction
是为数组上的操作指定的回调函数。参数 $callbackParameter
告诉传递给回调函数的参数。
<?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);
?>
我们没有指定任何回调函数,因此返回的数组没有空元素,零和空值。
输出:
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[6] => Tulip
[8] => Sun Flower
[10] => Daffodil
[11] => Daisy
)
使用 array_diff()
函数删除 PHP 中的空数组元素
内置函数 array_diff()
用于查找两个或多个数组之间的差异。它可以用来从数组中删除空元素。它不会重新索引数组。使用此函数的正确语法如下
array_diff($array1, $array2, $array3, ... , $arrayN);
它需要 N 个参数(数组)。它将第一个数组与所有其他数组进行比较。它返回一个数组,其中包含第一个数组中所有其他数组中不存在的元素。
<?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);
?>
在这里,我们将数组 array
与包含空字符串,0 和 null 值的数组进行了比较。所以返回的数组没有空元素。
输出:
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[6] => Tulip
[8] => Sun Flower
[10] => Daffodil
[11] => Daisy
)
使用 unset()
函数删除 PHP 中的空数组元素
unset()
函数删除存储在变量中的值。我们可以使用它来移除数组中的空元素。使用此函数的正确语法如下
unset($variableName);
它只接受一个参数 $variableName
。$variableName
是我们要删除其值的变量。
<?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);
?>
在这里,我们使用了一个 foreach
循环来查找空数组元素。如果数组元素为空,则将其索引以及数组名称作为参数传递给 unset()
函数。
输出:
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[5] => Tulip
[6] => Sun Flower
[8] => Daffodil
[9] => Daisy
)