在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()
或者自定义回调函数来去掉数组中的空值。