【PHP】解决array_filter会过滤0false的问题
定义和⽤法
array_filter() 函数⽤回调函数过滤数组中的元素。
该函数把输⼊数组中的每个键值传给回调函数。如果回调函数返回 true,则把输⼊数组中的当前键值返回给结果数组。数组键名保持不变。语法:
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
array : 必需。规定要过滤的数组。
callback : 可选。规定要⽤的回调函数
flag 可选。决定 callback 接收的参数形式:
问题:
数据过滤空值时常会使⽤array_filter,但其默认会把0、false这样具体的值过滤掉。
⽅法⼀:直接使⽤:
function filtrfunction($arr){filter过滤对象数组
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,'filtrfunction'));
⽅法⼆:在类中使⽤:
function filtrfunction($arr){
if($arr === '' || $arr === null){
return false;
}
return true;
}
function test(){
$data = array(
'a'=>1,
'b'=>0,
'c'=>'',
'd'=>null,
'e'=>5,
'f'=>false
);
print_r(array_filter($data,array($this,"filterSinaList")));
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论