php array_filter除去数组中的空字符元素

所属分类: 网络编程 / PHP编程 阅读数: 739
收藏 0 赞 0 分享

array_filter() 函数根据回调函数过滤数组中的值,省略回调函数则默认过滤空值。

array_filter()

语法:

array_filter( array[, function] )

1、省略回调函数过滤数组单元空值的例子

<?php
$array = array(
  0 => '脚本之家,
  1 => 'www.jb51.net',
  2 => null,
  3 => 1,
  4 => '',
  5 => false,
  6 => '0'
);
print_r(array_filter($array));
?>

运行该例子输出:

Array
(
[0] => 脚本之家
[1] => www.jb51.net
[3] => 1
)

过滤的空值,与empty()函数对应,具体包括:0,'0','',false,array(),null等,具体参见:《PHP empty() 检测一个变量是否为空》一文。

2、使用回调函数过滤指定值

$array = array(
  0 => 'www.jb51.net',
  1 => 1,
  2 => 6,
  3 => '',
  4 => false,
  5 => 0,
  6 => -6,
  7 => '8'
);
function filter($v){
  if( is_int($v) && $v % 2 == 0 ){
    return true;
  } else {
    return false;
  }
}
print_r(array_filter($array,"filter"));

运行该例子输出:

Array
(
    [2] => 6
    [5] => 0
    [6] => -6
)

如果有回调函数,array_filter函数会依次将数组单元的值传递到回调函数,如果回调函数返回true,则该单元会被保留,反之则该数组单元则会被删除。

注意,如果被过滤的数组是关联数组,键名会保持不变。array_filter操作的是原数组的一个副本,如果要想改变原数组,则需要重新赋值:

$array = array_filter($array);

3、除去数组中的空字符元素

<?php 
$str1_array=array('脚本之家','','//www.jb51.net','','1654',''); 
$str1_array=array_filter($str1_array); 
print_r($str1_array); 
?> 

显示结果:

Array
(
[0] => 脚本之家
[2] => //www.jb51.net
[4] => 1654
)

更多精彩内容其他人还在看

PHP.MVC的模板标签系统(四)

PHP.MVC的模板标签系统(四)
收藏 0 赞 0 分享

PHP.MVC的模板标签系统(五)

PHP.MVC的模板标签系统(五)
收藏 0 赞 0 分享

Windows下的PHP5.0安装配制详解

Windows下的PHP5.0安装配制详解
收藏 0 赞 0 分享

最令PHP初学者头痛的十四个问题

最令PHP初学者头痛的十四个问题
收藏 0 赞 0 分享

PHP中的串行化变量和序列化对象

PHP中的串行化变量和序列化对象
收藏 0 赞 0 分享

PHP 5.0对象模型深度探索之绑定

PHP 5.0对象模型深度探索之绑定
收藏 0 赞 0 分享

PHP5.0对象模型探索之抽象方法和抽象类

PHP5.0对象模型探索之抽象方法和抽象类
收藏 0 赞 0 分享

PHP在XP下IIS和Apache2服务器上的安装

PHP在XP下IIS和Apache2服务器上的安装
收藏 0 赞 0 分享

初学者入门:细述PHP4的核心Zend

初学者入门:细述PHP4的核心Zend
收藏 0 赞 0 分享

PHP环境搭建最新方法

PHP环境搭建最新方法
收藏 0 赞 0 分享
查看更多