开启辅助访问
帐号登录 |立即注册

PHP array_filter()函数:过滤数组中的(空)值

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

array_filter()
语法:
array_filter( array[, function] )

省略回调函数过滤数组单元空值的例子
<?php
$array = array(
    0 => '我爱开发网',
    1 => 'www.5idev.com',
    2 => null,
    3 => 1,
    4 => '',
    5 => false,
    6 => '0'
);
print_r(array_filter($array));
?>
运行该例子输出:
Array
(
    [0] => 我爱开发网
    [1] => www.5idev.com
    [3] => 1
)
过滤的空值,与empty()函数对应,具体包括:0,'0','',false,array(),null等。

使用回调函数过滤指定值
$array = array(
    0 => 'www.5idev.com',
    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);//将过滤后的值重新赋值给原数组
以上就是本文的全部内容,感谢大家支持JScript之家——编程学习者社区!

回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。