PHP菜鸟博客_共同学习分享PHP技术心得【PHP爱好者】
PHP的array_filter怎么不过滤一维数组中的0
2021-12-2 菜鸟站长
array_filter()处理一维数组,过滤后的数组下标不会重置,可以用回调函数过滤数组中的元素。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

语法:

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )





array : 必需。规定要过滤的数组。

callback : 可选。规定要用的回调函数

flag 可选。决定 callback 接收的参数形式



 

问题:

数据过滤空值时常会使用array_filter,但其默认会把0、false这样具体的值过滤掉。

第一种方法:直接使用



function  filterfunction($arr){
if($arr === '' || $arr === null){
return false;
}
return true;
}

$data = array(
'a'=>1,
'b'=>0,
'c'=>'',
'd'=>null,
'e'=>5,
'f'=>false
);
print_r(array_filter($data,'filterfunction'));










发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容