array_filter()会过滤0、false问题的解决方法

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")));
}
    A+
发布日期:2019年09月27日 22:24:40  所属分类:PHP
最后更新时间:2019-09-27 22:26:26
评分: (1 票;平均数5.00 ;最高评分 5 ;用户总数1;总得分 5;百分比100.00)
头像
免费SSL证书 HTTPS申请 安装 配置 支持通配符*
免费SSL证书 HTTPS申请 安装 配置 支持通配符*
  • ¥ 199.9元
  • 市场价:20000元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元
wp discux 帝国 dedecms phpcms等快速建站
wp discux 帝国 dedecms phpcms等快速建站
  • ¥ 99.9元
  • 市场价:499.9元
wordpress站群服务 泛解析二级域名 二级目录站群
wordpress站群服务 泛解析二级域名 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: