我们在日常的项目开发中可能会遇到这样的数组 :
array(1) { [0]=> string(0) “” }
这样的数组你用  isset  ,  empty  ,  if  判断的话都是返回 true 。接着一般都会使用 for  , foreach , while  等函数方法进行循环。所以非常浪费资源有时还会报错。下面我们记录一下函数可以将这种数组过滤掉。
函数名: array_filter() 
调用方式:array_filter(array)
参数说明:array 是操作的对象,我们将删除其中的空元素 。
此时如果我们在用  if  去判断这样的数组的时候就会返回 false 了。
代码调用实例:
<?php     $array = array('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");     $b= array_filter($array);      print_r($b); ?>
结果: 
Array ( 
[a] => abc 
[b] => bcd 
[c] => cde 
[d] => def 
) 
foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下:
<?php foreach( $arr as $k => $v){     if( !$v )    unset( $arr[$k] ); }
而且自我感觉还挺不错,只是这样的效率并不高也曾经试过,先将$arr转为对象,然后利用对象的特性来删除,因为:foreach是将当前操作的数组进 
行copy,每操作一下foreach,都是copy了一个变量,页面里面如果有太多的foreach,会是一个很大的消耗。
				
 
                                    
                                    
评论已关闭