从单个数组中过滤多维数组

时间:2015-11-10 17:46:53

标签: php arrays

我有多维数组和 我有另一个有一些存在于第一个多维

中的id

现在我需要的是使用过滤器函数来过滤第二个单个数组中存在的任何元素

我的多维数组是:

 $Base = array
  (
  array("aa",1),
  array("bb",2),
  array("cc",3),
  array("dd",4),
  array("ee",5),
  array("ff",6),
  array("gg",7),
  );

另一个是:

  $child = array(1,4,5);

我现在期望过滤数组并获得

$new = array
  (
  array("aa",1),
  array("dd",4),
  array("ee",5) 
 );

1 个答案:

答案 0 :(得分:1)

这应该适合你。

$Base = array(
  array("aa",1),
  array("bb",2),
  array("cc",3),
  array("dd",4),
  array("ee",5),
  array("ff",6),
  array("gg",7),
);
$child = array(1,4,5);

$filtered = array_filter($Base, function($arg) use ($child){
    //return if arg1 is in $child
    return in_array($arg[1], $child);
});

演示:http://codepad.viper-7.com/qqcl3e