数组

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

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

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

array_filter()

语法:

array_filter( array[, function] )

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

<?php
$array = array(
    0 => '芝麻通',
    1 => 'www.zhimatong.com',
    2 => null,
    3 => 1,
    4 => '',
    5 => false,
    6 => '0'
);
print_r(array_filter($array));
?>

运行该例子输出:

Array
(
    [0] => 芝麻通
    [1] => www.zhimatong.com
    [3] => 1
)

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

使用回调函数过滤指定值

$array = array(
    0 => 'www.zhimatong.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);

本文属原创,转载请注明原文:http://www.zhimatong.com/jiaocheng/53.html

为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。

内容有用

联系
顾问

在线
客服
购物车
账号登录

没有账号?立即注册

忘记密码

登录即同意用户协议没有账号? 立即注册
账号注册
我已阅读并同意用户协议
立即注册
注册即同意用户协议已有账号? 立即登录
找回密码

操作步骤:邮箱验证->设置新密码

注册即同意用户协议已有账号? 立即登录