zoukankan      html  css  js  c++  java
  • php中利用array_filter过滤数组为空值

    [导读] 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的。其实我们可以利用array_filter函数

    在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的。  

    其实我们可以利用array_filter函数轻松去掉多维空值,而数组的下标没有改变,下面是举例用法:

    array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。

     代码如下 复制代码


    $array = array(
     
    0 => '霜天部落',
     
    1 => false,
     
    2 => 1,
     
    3 => null,
     
    4 => '',
     
    5 => 'http://www.hzhuti.com',
     
    6 => '0'
     
    );
     
    print_r(array_filter($array));
     
    ?>

    上面代码输出结果为:

    Array
    (
    [0] => 霜天部落
    [2] => 1
    [5] => http://www.hzhuti.com
    )

    这样就把为空或者null或者false的值排除掉

    上面我们再进行优化

     代码如下 复制代码
    function delEmpty($v)   
    {  
    if ($v==="" || $v==="php")   //当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值
        {  
        return false;  
        }  
    return true;  
    }  
    $a=array(0=>"pig",1=>"Cat",2=>"",3=>"php");  
    print_r(array_filter($a,"delEmpty")); 
  • 相关阅读:
    Deepin安装Python开发环境
    Deepin怎样安装C/C++编译环境更好
    当 tcpdump -w 遇到 Permission denied
    c++中的虚函数
    c++中的new 和delete
    ubuntu没有输入窗口,不能调用输入法
    Ubuntu下升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)
    BCD与GRUB
    adb shell device not found解决
    unsupported number of arguments...的错误
  • 原文地址:https://www.cnblogs.com/koleyang/p/4921127.html
Copyright © 2011-2022 走看看