在PHP中,你可以使用array_filter()函数来去掉数组中的空值。array_filter()函数会遍历数组中的每个元素,并将每个元素传递给回调函数。如果回调函数返回true,则该元素会被保留在数组中;如果返回false,则该元素会被移除。
如果你想简单地去掉数组中的空值(例如null、false、0、""、array()等),你可以直接使用array_filter()而不传递回调函数。在这种情况下,array_filter()会默认移除所有值为false的元素。
以下是一个示例:
<?php
$array = [1, 2, null, '', 0, false, 'hello', []];
// 使用 array_filter 去掉空值
$filteredArray = array_filter($array);
print_r($filteredArray);
?>
输出结果将是:
Array
(
[0] => 1
[1] => 2
[6] => hello
)
在这个例子中,null、""、0、false 和 [] 都被移除了。
如果你只想移除特定的空值(例如只移除null),你可以传递一个自定义的回调函数:
<?php
$array = [1, 2, null, '', 0, false, 'hello', []];
// 自定义回调函数,只移除 null
$filteredArray = array_filter($array, function($value) {
return $value !== null;
});
print_r($filteredArray);
?>
输出结果将是:
Array
(
[0] => 1
[1] => 2
[3] =>
[4] => 0
[5] =>
[6] => hello
[7] => Array
(
)
)
在这个例子中,只有null被移除了,其他值(包括""、0、false和[])都被保留了。
根据你的需求,你可以选择使用默认的array_filter()或者自定义回调函数来去掉数组中的空值。