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 ( [3] => 3 )
定义和用法
array_filter() 函数用回调函数过滤数组中的值。
该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。
语法
array_filter(array,callbackfunction);
| 参数 | 描述 | 
|---|---|
| array | 必需。规定要过滤的数组。 | 
| callbackfunction | 必需。规定要使用的回调函数。 | 
技术细节
| 返回值: | 返回过滤的数组。 | 
| PHP 版本: | 4.0.6+ | 
注:回调函数中的 return($var & 1); 表示在1转换成二进制 0001 后,传入的 $var 变量,如果是数字,则在转换成二进制后,其倒数第一位必须是1,如果是字符串则会转换成对应的ASCII码然后再进行操作。
同理,如果把 1 换成 3 , 因为 3 的倒数第一二位都为1,且2的倒数第二位也为1,所以会输出 2 ,3 , 4 这三个数组元素。
如果还没理解可以搜索 PHP位运算符,或者是参考这个网址 http://jingyan.baidu.com/album/6181c3e06f8602152ff1537a.html?picindex=1 我认为它讲得比较清楚
一到十二进制如下所示:
1→0001
2→0010
3→0011
4→0100
5→0101
6→0110
7→0111
8→1000
9→1001
10→1010
PHP中的 array_filter 函数的更多相关文章
- 巧用php中的array_filter()函数去掉多维空值
		一直一维array_filter() 函数只能去除一维数组,其实这个函数也能去除多维数组: $arr =[ '0'=>array(), '1'=>'false', '2'=>'tes ... 
- PHP – 在类中使用array_filter时回调函数的问题
		了一个类处理好友,其中有一个方法用来同步好友,而这个方法中需要从微博传来的关注列表和粉丝列表中,找到互相关注的用户,记录一下经验,主要还是关于回调函数. 按照我最初的理解,这样写就可以了 privat ... 
- PHP中的回调函数和匿名函数
		html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ... 
- array_filter函数
		利用array_filter函数轻松去掉多维空值,而数组的下标没有改变, 如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组.如果原数组是 ... 
- php中利用array_filter过滤数组为空值
		[导读] 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的.其实我们可以 ... 
- PHP array_filter() 函数
		定义和用法 array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组.如果原数组是 ... 
- 辛星解读之php中的重点函数第一节之数组函数
		这里我已经写好它的pdf版本号了,比本博客更加适合阅读.首先说一下它在百度网盘的下载地址把:百度网盘下载 ,假设左边连接跪了.能够在浏览器中输入:http://pan.baidu.com/s/1qW5 ... 
- Python3中的字符串函数学习总结
		这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ... 
- Entity Framework 6 Recipes 2nd Edition(10-5)译 -> 在存储模型中使用自定义函数
		10-5. 在存储模型中使用自定义函数 问题 想在模型中使用自定义函数,而不是存储过程. 解决方案 假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Fi ... 
随机推荐
- PHP学习8——图像处理
			主要内容: 加载GD库 创建图像 绘制点,线,矩形,多边形,椭圆,弧线 绘制文字 通过GD库生成验证码 其实吧,学习图像方法的最大作用,好像就是为了制作验证码. 所以此专题,不如叫做制作验证码. 1. ... 
- c# winfrom 页面的enter变为tab 功能使用 在特定的按钮里面如何继续当enter使用求大神帮忙解答一下  !!急
			enter 当tab 键用 已经实现 :例如按回车的时候切换一直走 ,走到一个按钮如何让回车键在这个按钮的时候还是执行enter按钮的功能而不是tab 求大神解答一下, 目前页面tab功能改为 ... 
- Java - 线程封闭
			保证并发安全性的方式有三: 不共享.不可变.同步 前两种方式相对第三种要简单一些. 这一篇不说语言特性和API提供的相关同步机制,主要记录一下关于共享的一些思考. 共享(shared),可以简单地认为 ... 
- JSON 转 VO
			需求 将获取的json数据直接转为vo 解决 利用net.sf.json.JSONObject的toBean() 确保json中的key值和vo中的字段名称一致 JSONObject jsonObje ... 
- Apache2.4+PHP7.3 安装及整合教程[Windows]
			系统环境:Win10 64位 Apache版本:2.4.37 64位 PHP版本:7.3.1 64位 下载 安装的第一步肯定是下载了,可以直接到我的网盘(密码:18tp)下载,下载完成后将文件解压到你 ... 
- 模拟Springboot一:(零xml配置搭建SSM项目)
			在spring官网文档中无论是spring的基础文档,还是spring-mvc文档都推荐我们使用javaconfig的方式来搭建项目 间接说明 (优点:javaconfig配置>xml配置) 其 ... 
- javaweb之MVC设计模式
			1.MVC简介 MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它把应用程序分成三个核心模块:模型,视图,控制器,它们各自处理自己的任务. 模型( ... 
- 修改phpmyadmin不能导入大文件的限制
			情景:我需要导入一张1.03GB的数据表,但是phpmyadmin导入文件默认为不能超过2M.因此需要修改phpmyadmin导入文件的大小限制. 1.phpmyadmin的导入也就是php完成文件上 ... 
- 跨域解决方案之HTML5 postMessage
			问题场景: web是嵌入到手机客户端中的静态页面,为了统计用户行为需要引入ga,但是ga必须是在www下才行,哪怕是localhost,这就是矛盾.解决方案是在页面中使用iframe,iframe是在 ... 
- HTML5 localstorage和session操作
			setStorage={ getLocal : function(key){ //获得localStorage里面的值 var storage = window.localStorage; if(st ... 
