删除基于键的数组元素

时间:2012-03-05 21:44:38

标签: php arrays

我有一个数组:

array(
  '1' => red,
  '2' => green,
  '3' => blue,
  '4' => orange
);

第二个阵列:

array(
  '0' => 1,
  '1' => 4
);

我想只保留数组1中键值等于数组2中值的那些元素。

所以最终的数组应该是这样的:

array (
    '1' => red,
    '4' => orange
);

2 个答案:

答案 0 :(得分:3)

使用array_intersect_key获取共享密钥的值(在第二个阵列上使用array_flip后)。

$array3 = array_intersect_key($array1, array_flip($array2));

答案 1 :(得分:1)

将array_intersect_key与array_flip一起使用,

$r = array_intersect_key($a, array_flip($b));