定义和用法
array_filter() 函数用回调函数过滤数组中的元素。
该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。
语法:
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
- array : 必需。规定要过滤的数组。
- callback : 可选。规定要用的回调函数
- flag 可选。决定 callback 接收的参数形式:
问题:
数据过滤空值时常会使用array_filter,但其默认会把0、false这样具体的值过滤掉。
方法一: 直接使用:
function filtrfunction($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,'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"))); }
扫描二维码关注公众号,回复:
7375083 查看本文章