📅  最后修改于: 2023-12-03 15:33:37.966000             🧑  作者: Mango
在 PHP 中,我们经常需要处理数组中的空值,尤其是从表单或者数据库中读取数据的时候。本文将介绍三种方法来删除数组中的空值。
array_filter() 函数接受一个数组作为参数,并返回一个新的数组,其中包含所有数组中的非空元素。
$array = array("", "hello", "world", null, false, 0, " ", []);
// 使用 array_filter() 函数过滤空值
$array = array_filter($array);
print_r($array);
输出结果如下:
Array
(
[1] => hello
[2] => world
[6] =>
)
使用 foreach 循环遍历数组,将非空元素加入新的数组中。
$array = array("", "hello", "world", null, false, 0, " ", []);
// 使用 foreach 循环过滤空值
$newArray = array();
foreach ($array as $value) {
if ($value != "") {
$newArray[] = $value;
}
}
print_r($newArray);
输出结果如下:
Array
(
[0] => hello
[1] => world
[2] =>
)
array_diff() 函数接受两个或多个数组作为参数,并返回第一个数组中与其他数组不同的值。所以我们可以将原数组和一个只包含空值的数组作为参数传入这个函数,从而得到一个只包含非空元素的数组。
$array = array("", "hello", "world", null, false, 0, " ", []);
// 使用 array_diff() 函数过滤空值
$array = array_diff($array, array(""));
print_r($array);
输出结果如下:
Array
(
[1] => hello
[2] => world
[6] =>
)
以上三种方法都可以有效地删除数组中的空值。具体使用哪种方法,可以根据实际情况进行选择。