zoukankan      html  css  js  c++  java
  • 【PHP】 解决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")));
    }
    

      

  • 相关阅读:
    [转载]游戏外挂原理
    python cookbook
    RF user guide
    测试理论-selenium的工作原理
    测试理论- the conten of test plan
    测试理论--branch testing and boundary testing
    测试理论--向高级出发
    fiddler安装及配置
    python 面试题: 列表表达式
    [redis]如何将redis设置成diango的cache backend
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/11596781.html
Copyright © 2011-2022 走看看