php过滤数组函数,php用回调函数过滤数组中的元素的函数array_filter()

实例

用回调函数过滤数组中的元素:<?php

function test_odd($var)

{

return($var & 1);

}

$a1=array("a","b",2,3,4);

print_r(array_filter($a1,"test_odd"));

?>

定义和用法

array_filter() 函数用回调函数过滤数组中的元素。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

语法array_filter(array,callbackfunction);参数描述

array必需。规定要过滤的数组。

callbackfunction必需。规定要用的回调函数。

技术细节返回值:返回过滤的数组。

PHP 版本:4.0.6+

今天在翻看手册查询array_filter()的使用细节时,看到了个小关键点:If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素将会被移除掉,这不正好可以用来过滤一些有空元素的数组吗?连忙写个例子测试一下想法:$entry = array(

0 => '蓝色夏威夷的博客',

1 => false,

2 => 1,

3 => null,

4 => '',

5 => 'http://www.jb51.net',

6 => '0',

7 => array(),

8 => 0

);

$validarr = array_filter($entry);

print_r($validarr);

//输出结果:

Array

(

[0] => 蓝色夏威夷的博客

[2] => 1

[5] => http://www.jb51.net

)

一些可以转化为布尔型FALSE的数组元素都被移除了,对我们想要得到一个有效的数组作了一个非常全面的过滤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值