在PHP中,你可以使用array_filter()
函数来去除数组中的null
或空元素。array_filter()
函数会遍历数组中的每个元素,并将每个元素传递给回调函数。如果回调函数返回true
,则该元素会保留在数组中;如果返回false
,则该元素会被移除。
默认情况下,array_filter()
会移除所有值为false
的元素,包括null
、空字符串、0
、false
等。如果你只想移除null
和空字符串,可以自定义回调函数。
以下是一个示例代码:
<?php
// 示例数组
$array = [1, null, "hello", "", 0, false, "world", " ", "0"];
// 使用array_filter去除null和空字符串
$filteredArray = array_filter($array, function($value) {
// 保留非null且非空字符串的元素
return $value !== null && $value !== '';
});
// 输出结果
print_r($filteredArray);
?>
输出结果:
Array
(
[0] => 1
[2] => hello
[6] => world
[7] =>
[8] => 0
)
在这个例子中,array_filter()
去除了null
和空字符串""
,但保留了其他值,包括空格字符串" "
和字符串"0"
。
如果你还想去除空格字符串,可以在回调函数中进一步处理:
<?php
// 示例数组
$array = [1, null, "hello", "", 0, false, "world", " ", "0"];
// 使用array_filter去除null、空字符串和空格字符串
$filteredArray = array_filter($array, function($value) {
// 保留非null、非空字符串且非空格字符串的元素
return $value !== null && $value !== '' && trim($value) !== '';
});
// 输出结果
print_r($filteredArray);
?>
输出结果:
Array
(
[0] => 1
[2] => hello
[6] => world
[8] => 0
)
在这个例子中,trim($value) !== ''
确保了空格字符串" "
也被移除。