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/>';
      }
    
    
  • 相关阅读:
    作业之 抽屉的实现
    Python数字
    Python字符串
    Python变量
    Python生成0到9的随机数
    Python 中is和==的区别?
    整理控|四象限系列电脑桌面壁纸分享一波
    Jmeter系列之接口自动化实战
    Jmeter系列之数据库操作
    Jmeter系列之接口断言
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/13583868.html
Copyright © 2011-2022 走看看