如何获得两个数组的键相交?

时间:2015-07-23 13:11:00

标签: php arrays array-intersect

我有两个数组如图所示

//array 1
Array
(
    [0] => 223
    [1] => 216
)

/array 2
Array
(
    [221] => Bakers
    [220] => Construction
    [223] => Information Technology
    [216] => Jewellery
    [217] => Photography
    [222] => Retailers
)

我想要第一个数组的键(值)与第二个数组(键)匹配的文本。

预期结果:

Information Technology, Jewellery

2 个答案:

答案 0 :(得分:6)

只需获取密钥的array_intersect_key(),但由于您在第一个数组中将密钥作为值,因此必须使用array_flip()进行翻转,例如

print_r(array_intersect_key($array2, array_flip($array1)));

答案 1 :(得分:2)

$result = array();
foreach( $array1 as $index ) {
  $result[] = $array2[ $index ];
}
echo implode( ', ', $result );