收藏本页 | 设为主页 | RSS
LOGO

我就上乐乐吧

大部分情况下来说,PHP去掉数组的空值是都是强行用foreach写的,利用具体的元素对象特性来判断空值,简单代码如下:

您当前的位置:首页 » 技术杂萃
全站公告
重要提示!

本站收集各类美图,以无LOGO原汁原味图为主!欢迎大家交流。
怕失联,请认准如下地址:
微博:http://weibo.com/237h
微信:SuperBeautylove
轻博客:http://www593668com.lofter.com/
花瓣:http://huaban.com/sinsunson
Q群1:231151757
Q群2:583138281
网站:http://www.593668.com
文件解压密码:593668.com
热心赞助

站内搜索
 
相关文章
热门文章
热搜词组
文章归档
友情链接
PHP删除数组中空值的方法介绍

发布日期:2019-09-10  关键词: PHP

大部分情况下来说,PHP去掉数组的空值是都是强行用foreach写的,利用具体的元素对象特性来判断空值,简单代码如下:

foreach($arr as $k=>$v){
  if(!$v){
    unset( $arr[$k] ); 
  }
}

只是这样写的效率并不算很高,毕竟这个过程中,需要循环先将$arr转为对象,然后再利用对象的特性来判断删除,在小规律应用中还成,但如果页面里面有太多的foreach,就会是一个很大的性能浪费。

在网上有人说用array_filter函数更好。于是觉得学习了,去打开PHP函数手册看了一下。

array_filter函数的功能是就是利用回调函数来对数组进行过滤,发现手册下面还附了一句,如果没有写回调函数,那么默认就是删除数组中值为false的项目

不说多,直接上代码来测试下。

$entry = array(0 => 'www.593668.com',1 => false,2 => -1,3 => null,4 => '',5=>' '); 
print_r(array_filter($entry));

页面打印如下:

PHP删除数组中空值的方法介绍,PHP,技术杂萃

嗯,看来,是发现了新大陆,原来还可以有捷径可以走的。这时有人说,不是还有一个空格字符没有过滤吗?

这种时候,你可以自行设定一个回调函数来过滤:
function filter($str){
  if(empty(trim($str))){
    return null;
  }else{
    return $str;
  }
}
$entry = array(0 => 'www.593668.com',1 => false,2 => -1,3 => null,4 => '',5=>' '); 
print_r(array_filter($entry,"filter"));

这样就完美达成了我们需要的数组元素过滤。
猜您喜欢:
Q群: 231151757微信:superimagelove 官网:www.593668.com