Php 将关联数组与标准数组值进行比较

Php 将关联数组与标准数组值进行比较,php,arrays,search,Php,Arrays,Search,我在一个关联数组中有一组id和名称,在另一个数组中,我有一个id列表,我想与第一个列表进行比较 我希望能够执行交集类型搜索功能,而不会丢失关联数组中的名称 我曾经考虑过做一个嵌套的foreach,但这个过程似乎需要很长时间,因为两个数组可能都有70k+的值 $assoc = array( 'a' => 'one', 'b' => 'two', ); $array = array('b', 'c', 'd'); $match = array_intersect_key($ass

我在一个关联数组中有一组id和名称,在另一个数组中,我有一个id列表,我想与第一个列表进行比较

我希望能够执行交集类型搜索功能,而不会丢失关联数组中的名称

我曾经考虑过做一个嵌套的foreach,但这个过程似乎需要很长时间,因为两个数组可能都有70k+的值

$assoc = array(
  'a' => 'one',
  'b' => 'two',
);
$array = array('b', 'c', 'd');
$match = array_intersect_key($assoc, array_flip($array));
print_r($match);
产出:

Array
(
    [b] => two
)

我相信这就是您所追求的。

请提供两个数组的简单示例。@Cletus-我认为您的意思是翻转$assoc而不是普通的$array。不,以上是我的意图。它从assoc返回元素,whos键是$array中的值,我相信这是OP想要的。它这样做的同时保留了assoc中的值。如果没有,我可以更正。@cletus+1您是对的,在这一点上浪费了您的时间,对此表示抱歉。谢谢,太好了。正是我需要的!