• 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基础之变量
    mysql数据库
    进程与线程
    并发编程
    网络编程
    内置函数(魔法方法)
    组合,封装,访问限制机制,property装饰器
    面向对象之继承
    Web开发中最致命的8个小错误
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/13583868.html
Copyright © 2020-2023  润新知