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")));
    }
    

      

  • 相关阅读:
    单链表的逆转
    树的子结构和树的深度
    升级版爬楼梯问题
    蛇形数组
    正则表达式匹配
    构建乘积数组
    N皇后问题
    IOS计算文字高度
    Block的copy时机
    转:CocoaPods pod install/pod update更新慢的问题
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/11596781.html
Copyright © 2011-2022 走看看