在`php`中我们经常需要过滤数组
array_filter() 函数可以用回调函数过滤数组中的元素,
该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。
1、过滤等值为false的元素
```
$arr = [0, 1, 2, false, '', null, "0"];
$arr = array_filter($arr);
print_r($arr);
// Array ( [1] => 1 [2] => 2 )
```
2、项目中,经常用0代表女性,0代表启用等,所以0本身不能过滤掉。array_filter本身还支持回调函数
```
$arr = [0, 1, 2, false, '', null, "0"];
$arr = array_filter($arr, function ($val) {
if ($val === 0 || $val != false) {
return true;
} else {
false;
}
});
print_r($arr);
// Array ( [0] => 0 [1] => 1 [2] => 2 )
```