php专区

 首页 > php专区 > PHP基础 > 数组 > php中利用array_filter过滤数组为空值 - php数组

php中利用array_filter过滤数组为空值 - php数组

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

php中利用array_filter过滤数组为空值

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

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

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

  1. $array = array
  2.  
  3. 0 => '霜天部落'
  4.  
  5. 1 => false, 
  6.  
  7. 2 => 1, 
  8.  
  9. 3 => null, 
  10.  
  11. 4 => ''
  12.  
  13. 5 => 'http://www.phpfensi.com'
  14.  
  15. 6 => '0' 
  16.  
  17. ); 
  18.  
  19. print_r(array_filter($array)); 
  20.  
  21. ?> 

上面代码输出结果为:

  1. Array 
  2. [0] => 霜天部落 
  3. [2] => 1 
  4. [5] => http://www.phpfensi.com 

这样就把为空或者null或者false的值排除掉,上面我们再进行优化,代码如下:

  1. function delEmpty($v)     
  2. {    
  3. if ($v==="" || $v==="php")   //当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值 
  4.     {    
  5.     return false;    
  6.     }    
  7. return true;    
  8. }    
  9. $a=array(0=>"pig",1=>"Cat",2=>"",3=>"php");    
  10. print_r(array_filter($a,"delEmpty"));
分享到:
PHP多维数组排序实现程序代码 - php数组
PHP多维数组排序实现程序代码 在php中对数组排序包括一维数组排序与多维数组排序,下面我来详细介绍利用php数组排序函数与自定函数来实现数据排序的具体方法. 单数组排序,sort函数升序排序: bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] ) PHP实例代码如下:   ...
PHP中数组转换成json字符串程序代码 - ph...
PHP中数组转换成json字符串程序代码 数据转换js格式的数据是我们常用一种数据传递的方法,特别像ajax中会时常用到把数据转换成json然后再转换回来,下面看一个实例,代码如下: function array_to_json($array) {   if (! is_array ( $array )) {    return false;   ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……