zoukankan      html  css  js  c++  java
  • php使用array_filter函数,并使用闭包,动态的过滤数组

    需求

    紧接题库查重的问题,我想获取不同栏目下的数据。具体代码如下:

     $arr=[
     [
    	'id'=>111,
    	'type'=>1,
    	'title'=>'我是了下',
    	'channel_id'=>1
      ],
      [
    	'id'=>222,
    	'type'=>2,
    	'title'=>'我是了下',
    	'channel_id'=>2
      ],
      [
    	'id'=>33,
    	'type'=>2,
    	'title'=>'我是了下',
    	'channel_id'=>3
      ],
       [
    	'id'=>44,
    	'type'=>1,
    	'title'=>'我是了下',
    	'channel_id'=>1
      ],
      [
    	'id'=>55,
    	'type'=>2,
    	'title'=>'我是了下',
    	'channel_id'=>2
      ],
      [
    	'id'=>66,
    	'type'=>2,
    	'title'=>'我是了下',
    	'channel_id'=>3
      ]
      ];
      
    //首先获取所有的栏目,并去重
      $channel_arr = array_unique(array_column($arr, 'channel_id'));
     //得到一个数组,包含的channel,分别是1,2,3
      
      //循环数组,根绝不同的channel,过滤数组。得到,不同栏目的文章信息。
      foreach($channel_arr as $k=>$v){
    	  //获取channel为$V的数组
    	
              //使用php的闭包,传入$v
    	 var_dump(array_filter($arr,function ($a)  use($v){
    		if ($a['channel_id']==$v)
    		  {
    		  return true;
    		  }
    		return false;
    		}
    		));
    	echo '<br/>';
      }
    
    
  • 相关阅读:
    angular4浏览器兼容问题
    angular4组件生命周期
    angular4路由
    CDH 安装配置指南(Tarball方式)
    nginx-1.14.0安装
    redis-3.0.6安装
    CDH安装kafka
    CDH配置JAVA_HOME
    ntp集群时间同步
    VMware联网
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/13583868.html
Copyright © 2011-2022 走看看