php中利用array_filter过滤数组为空值
2015-10-29 17:17
981 查看
[导读] 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的。其实我们可以利用array_filter函数
在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的。
其实我们可以利用array_filter函数轻松去掉多维空值,而数组的下标没有改变,下面是举例用法:
array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。
这样就把为空或者null或者false的值排除掉
上面我们再进行优化
在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的。
其实我们可以利用array_filter函数轻松去掉多维空值,而数组的下标没有改变,下面是举例用法:
array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。
代码如下 | 复制代码 |
$array = array( 0 => '霜天部落', 1 => false, 2 => 1, 3 => null, 4 => '', 5 => 'http://www.hzhuti.com', 6 => '0' ); print_r(array_filter($array)); ?> 上面代码输出结果为: Array ( [0] => 霜天部落 [2] => 1 [5] => http://www.hzhuti.com ) |
上面我们再进行优化
代码如下 | 复制代码 |
function delEmpty($v) { if ($v==="" || $v==="php") //当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值 { return false; } return true; } $a=array(0=>"pig",1=>"Cat",2=>"",3=>"php"); print_r(array_filter($a,"delEmpty")); |
相关文章推荐
- PHP 获取图片信息exif
- php之菜单栏用递归显示
- 基础总结篇之六:ContentProvider之读写联系人
- 基础总结篇之七:ContentProvider之读写短消息
- 基础总结篇之八:创建及调用自己的ContentProvider
- PHP利用APC模块实现大文件上传进度条的方法
- contentprovider总结(二)
- contentprovider 总结(一)
- PHP Twig模版的function详解(中文)
- 极客学院-PHP002-PHP 开发环境搭建[4_36]
- PHP Twig模版的Filters详解(中文)
- php无限分类
- PHP实现远程图片下载
- php如何实现只替换一次或N次
- param getParameter getAttribute
- php重视问题1
- php新版本废弃 preg_replace /e 修饰符
- php curl请求封装(备份,万一下次用到了,直接copy哈哈哈)
- PHP开发框架HushFrameword在阿里服务器Windows Server2012上的环境搭建正确方法
- vsftpd本身不支持软连接