PHP array_filter函数的一点应用 获取二维数组中指的键值的结果
来源:互联网 发布:2016年淘宝注册用户数 编辑:程序博客网 时间:2024/06/03 03:58
array array_filter ( array [, callback callback] )
三个方法
array_filter() 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
/** * @name linq and 实现 * @param array $socure * @param array $condition key: $socure中的key value: 和$socure中相对应的值相比较 全部为真才为真 * @return multitype:|boolean */ public static function WhereAnd($socure, array $condition) { return array_filter($socure, function ($value) use($condition) { $re = true; foreach ($condition as $k => $v) { if (!isset($value[$k]) || $value[$k] != $v) { $re = false; break; } } return $re; }); } public static function WhereBitwise($socure, array $condition) { return array_filter($socure, function ($value) use($condition) { $re = true; foreach ($condition as $k => $v) { if (($value[$k] & $v) > 0) { $re = false; break; } } return $re; }); } /** * @name linq or 实现 * @param array $socure * @param array $condition key: $socure中的key value: 和$socure中相对应的值相比较 存在为真就为真 * @return multitype:|boolean */ public static function WhereOr($socure, array $condition) { return array_filter($socure, function ($value) use($condition) { $re = false; foreach ($condition as $k => $v) { if ($value[$k] == $v) { $re = true; break; } } return $re; }); }
三个方法
1、第一个方法是通过array_filter 的特性,然后匹配$condition 这个数组中的键值对,将$condition 中的所有兼职通过&&筛选返回针对源数组筛选之后的结果。
2、第二个方法是将$conditon 中的键值对通过按位与的方式确定筛选结果
3、第三个方法是将$condtion 中的键值对通过|| 筛选确定筛选结果。
分享一点小小的技巧,省却简单的筛选下每次都要写foreach的烦恼,当然我更多应用的还是第一个方法.
0 0
- PHP array_filter函数的一点应用 获取二维数组中指的键值的结果
- php array_filter函数的使用
- PHP根据二维数组的某键值合并二维数组
- PHP获取数组中指定的一列
- php中array_filter函数的总结
- php如何修改二维数组子数组的键值
- php二维数组删除某个键值相同的数组
- PHP获取数组的键名与键值
- PHP获取数组的键名与键值
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- php二维数组去重即去掉重复键值的子元素
- php 对二维数组的指定键值进行排序
- PHP学习笔记——使用回调函数处理数组的函数array_filter()
- php函数array_filter()过滤php的空元素
- php递归获取一个数组中指定key的值
- 二维数组按指定的键值排序
- php 数组分组 二维数组中,将某个键值相同的合并到一个数组中
- Oracle重装
- 六款Win7系统可用的免费内存释放工具,让电脑跑的更high
- Hadoop如何搭建集群
- 2014ACM集训13级PK赛2-Conic Section
- 不同视频格式
- PHP array_filter函数的一点应用 获取二维数组中指的键值的结果
- openwrt修改主机名
- 一些琐碎的知识
- 2014ACM集训13级PK赛2-Kagome Kagome
- 一步步学习SPD2010--microsoft sharepoint designer 2010 step by step
- 通过键盘输入两个整数、检查输入整数是否符合要求,并计算出其最大公约数。
- 行列转换——oracle
- Nginx配置文件详解总结
- 我的java学习日记(2)