PHP 提供了一个函数 array_filter 可以帮助我们更方便的过滤数组里面的空值。
array_filter
- 使用回调函数过滤数组的元素,返回过滤后的数组。
- 遍历 array 数组中的每个值,并将每个值传递给 callback 回调函数。 如果 callback 回调函数返回 true,则将 array 数组中的当前值返回到结果 array 数组中。数组键名保持不变。
- 如果没有提供 callback 回调函数,将删除数组中 array 的所有“空”元素。
示例一:
// 不使用回调函数,可以过滤空值
$entry = [
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => '',
5 => '0',
6 => 0,
];
print_r(array_filter($entry));
## 返回结果
Array
(
[0] => foo
[2] => -1
)
示例二:
// 使用回调函数
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$return_array = array_filter($array, function ($value) {
// 过滤小于等于5的值
return $value > 5 ? true : false;
});
print_r($return_array);
## 返回结果
Array
(
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)