php 数组去除空值array_filter()方法
在php中数组去除空值的方法有很多种,一种是直接使用函数array_filter()删除空值,另一种是使用遍历判断为空然后利用unset删除数组.
函数名:array_filter()
调用方式:array_filter($array)
参数说明:$array 是操作的对象,我们将删除其中的空元素.
实例,代码如下:
- <?php
- $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");
- array_filter($array);
- echo "<pre>";
- print_r($array);
- ?>
- //结果:
- Array (
- [a] => abc
- [b] => bcd
- [c] => cde
- [d] => def
- )
foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下:
- <?php
- foreach( $arr as $k=>$v){
- if( !$v )//开源代码phpfensi.com
- unset( $arr[$k] );
- }
- ?>
而且自我感觉还挺不错,只是这样的效率并不高也曾经试过,先将$arr转为对象,然后利用对象的特性来删除,因为:foreach是将当前操作的数组进行copy,每操作一下foreach,都是copy了一个变量,页面里面如果有太多的foreach,会是一个很大的消耗.