php清除空数组元素,array_filter的应用
今天在做查询的时候,根据需求要把数组中空的值去除掉
php数组函数的强大,于是想到了array_filter();
判断数组中元素是否为空的时候,一般用foreach,因为具体应用中多是要foreach,其实如果单纯的过滤php空数组的话,可以使用php函数array_filter() .
array array_filter ( array [, callback callback] )
array_filter() 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
如果没有提供 callback 函数,array_filter() 将删除 array 中所有等值为 FALSE 的条目.这也就是过滤数组空白元素的精华所在.
[php]
$entry = array(
0 => '酷咔咔技术发布网',
1 => false,
2 => 1,
3 => null,
4 => '',
5 => 'http://www.kukaka.org',
6 =>'0'
);
print_r(array_filter($entry));
[/php]
上面代码输出结果为:
Array
(
[0] => 酷咔咔技术发布网
[2] => 1
[5] => http://www.kukaka.com
)
可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.