array_filter() 函数用回调函数过滤数组中的元素。数组
该函数把输入数组中的每一个键值传给回调函数。若是回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。函数
语法:this
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
问题: blog
数据过滤空值时常会使用array_filter,但其默认会把0、false这样具体的值过滤掉。回调函数
方法一: 直接使用:io
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
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"))); }