php 数组去除空值array_filter()方法

在php中数组去除空值的方法有很多种,一种是直接使用函数array_filter()删除空值,另一种是使用遍历判断为空然后利用unset删除数组.

函数名:array_filter()

调用方式:array_filter($array)

参数说明:$array 是操作的对象,我们将删除其中的空元素.

实例,代码如下:

  1. <?php
  2. $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");
  3. array_filter($array);
  4. echo "<pre>";
  5. print_r($array);
  6. ?>
  7. //结果:
  8. Array (
  9. [a] => abc
  10. [b] => bcd
  11. [c] => cde
  12. [d] => def
  13. )

foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下:

  1. <?php
  2. foreach( $arr as $k=&gt;$v){
  3. if( !$v )//开源代码phpfensi.com
  4. unset( $arr[$k] );
  5. }
  6. ?>

而且自我感觉还挺不错,只是这样的效率并不高也曾经试过,先将$arr转为对象,然后利用对象的特性来删除,因为:foreach是将当前操作的数组进行copy,每操作一下foreach,都是copy了一个变量,页面里面如果有太多的foreach,会是一个很大的消耗.