筛选数组 $listMenu

Array

(

[0] => Array

(

[type] => 0

[min] => 0

)

[1] => Array

(

[type] => 1

[min] => 1

)

)

目标数组 $res

Array

(

[0] => Array

(

[id] => 183

[type] => 0

[min] => 0

)

[1] => Array

(

[id] => 184

[type] => 0

[min] => 1

)

[2] => Array

(

[id] => 185

[type] => 0

[min] => 2

)

[3] => Array

(

[id] => 186

[type] => 0

[min] => 3

)

[4] => Array

(

[id] => 187

[type] => 1

[min] => 0

)

[5] => Array

(

[id] => 188

[type] => 1

[min] => 1

)

[6] => Array

(

[id] => 189

[type] => 1

[min] => 2

)

[7] => Array

(

[id] => 190

[type] => 1

[min] => 3

)

[8] => Array

(

[id] => 191

[type] => 2

[min] => 0

)

[9] => Array

(

[id] => 192

[type] => 2

[min] => 1

)

[10] => Array

(

[id] => 193

[type] => 2

[min] => 2

)

[11] => Array

(

[id] => 194

[type] => 2

[min] => 3

)

[12] => Array

(

[id] => 195

[type] => 3

[min] => 0

)

[13] => Array

(

[id] => 196

[type] => 3

[min] => 1

)

[14] => Array

(

[id] => 197

[type] => 3

[min] => 2

)

[15] => Array

(

[id] => 198

[type] => 3

[min] => 3

)

)

思路,用array_filter() 函数 过滤

array_filter() 函数使用

function test_odd($var)

{

return($var & 1);

}

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

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

?>

PHP闭包 function() use(){}

闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。

$a =function()use($b) {

}

代码

foreach ($listMenu as $key=>$val){

$dataArr[]=array_filter($res,function ($var)use ($val){

if($var['type']==$val['type']&&$var['min']==$val['min']) return true;

});

}

//数组降维处理

array_walk($dataArr, function(&$v) {$v = current($v);});

print_r($dataArr);

输出

Array

(

[0] => Array

(

[id] => 183

[type] => 0

[min] => 0

)

[1] => Array

(

[id] => 188

[type] => 1

[min] => 1

)

)

升级版

/**

*使用数组筛选

*

*/

static public function getMenuAll(){

$res=[]

//return self::reSort($result);

$item['pid'] = 0;

$result = self::screen($res,$item);

return $result;

}

/**

* 筛选数组方法

* @param $res

* @param $val

* @return array

*/

static public function screen($res,$val){

return array_filter($res,function ($var) use ($val){

if($var['type']==$val['type']&&$var['min']==$val['min']) return true;

});

}

php 筛选数组,2020-07-24 php 通过数组键值对筛选数组相关推荐

  1. jquery对json 键值对或数组的增加、删除、遍历操作

    在前端遍历json键值对或数组遍历的情况也会经常用到,我们知道在java.c#其它的语言里提供方便的方法来操作,那么在json里面有没有类似的方法呢,废话就不多说了上代码: var jsonStr={ ...

  2. php索引数组相等,php二维数组中子数组的某一键相等,其余键值求和

    需要处理的数组 Array ( [0] => Array ( [uid] => 1 [price] => 85.00 [earnings] => 40.00 ) [1] =&g ...

  3. php 按照相同键值分组合并数组

    //按照相同键值分组合并数组 $arr = [];//定义一个空数组 foreach ($date_info as $key => &$value) {//$date_info为需要合并 ...

  4. php数组只保留键值,php合并数组并保留键值的实现方法

    php合并数组,一般会使用array_merge方法. array_merge - 合并一个或多个数组 array array_merge ( array $array1 [, array $... ...

  5. 如何统计php数组值的和,php数组键值操作和数组统计函数-函数

    1.数组函数//作用:提供了很多官方写的很多有用的代码段,提高编写速度 1)数组的键值操作函数 array_values();//获取数组中的值 array_keys();//获取数组中的键 in_a ...

  6. 365天挑战LeetCode1000题——Day 038 公交站间的距离 + 基于时间的键值存储 + 转变数组后最接近目标值的数组和 + 有界数组中指定下标处的最大值

    文章目录 1184. 公交站间的距离 代码实现(自解) 981. 基于时间的键值存储 代码实现(自解) 1300. 转变数组后最接近目标值的数组和 代码实现(自解) 1802. 有界数组中指定下标处的 ...

  7. php中合并数组保留键值,php合并数组并保留键值的实现方法

    下面为大家分享一篇php合并数组并保留键值的实现方法,具有很好的参考价值,希望对大家有所帮助. php合并数组,一般会使用array_merge方法. array_merge - 合并一个或多个数组 ...

  8. php数组键值一样的合并,php合并数组并保留键值 php合并数组并保留键值的实现方法...

    想了解php合并数组并保留键值的实现方法的相关内容吗,傲雪星枫在本文为您仔细讲解php合并数组并保留键值的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:php数组合并保留键值,下面大家一起 ...

  9. 2020.07.24日自编译L大源码openwrt固件x86软路由精简版

    自编译,精简了大部分功能,保留部分功能,适合旁路拓展性网络使用.默认管理地址192.168.1.1,账户root,密码password. 只适用于x86软路由,普通硬路由不可用,功能与我之前文章编译的 ...

  10. 《惢客创业日记》2020.07.24(周五)向论语大师请教什么?

    今天,终于粗略的听完了郭继承老师讲的<论语>,这也是这个月制定的学习任务之一.讲<论语>的老师有很多,我最早听的就是于丹老师讲的<论语>,后来,又接触了傅佩荣老师讲 ...

最新文章

  1. python解压zip文件_python-29 python解压压缩包的几种方法
  2. Day2 : iOS第三方框架MBProgressHUD学习笔记
  3. OSGi简介–模块化Java
  4. mysql mongodb 事务_MySQL PK MongoDB:多文档事务支持,谁更友好?
  5. bzoj2763:最短路
  6. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
  7. Gprinter Android SDK V2.1 使用说明
  8. 西门子s7-200解密软件下载_高邮哪里有西门子三菱PLC编程学习班?多久能学会?...
  9. 算法设计与分析第四章习题解答与学习指导(第2版)屈婉婷 刘田 张立昂 王捍贫编著 清华大学出版社
  10. 你被选中了——晚会上的随机点名
  11. VBA-1-如何在右键中添加“新建启用宏的工作簿.xlsm”
  12. 王之泰201771010131《面向对象程序设计(java)》第八周学习总结
  13. 這是一位女生寫的 - 男生如何追求女生
  14. 炼狱与逐光——我的十杰博客获奖感言
  15. 51单片机最全入门总结
  16. 准时制生产方式(Just In Time简称JIT)
  17. mac 设置为允许来自任何来源都可以
  18. logback-RollingFileAppender源码分析(关于缓冲和性能)
  19. 51Nod_1265 四点共面【混合积】
  20. 2021 电子科技大学 组合数学试卷 (卢光辉、戴波 )

热门文章

  1. ASP.NET Core中HTTP管道和中间件的二三事
  2. 基于xlua和mvvm的unity框架
  3. MEDIATR 一个低调的中介者类库
  4. .Net Core配置与自动更新
  5. SQL Server on Linux的文件和目录结构
  6. .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
  7. 个人博客建站方案推荐
  8. 框架实现修改功能的原理_JAVA集合框架的特点及实现原理简介
  9. Java Eclipse开发环境搭建及注意事项
  10. 动态规划之两个字符串的最大子序列