2015-07-23 3 views
3

У меня есть два массива, как показано ударКак я могу получить ключевое пересечение двух массивов?

//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
$result = array(); 
foreach($array1 as $index) { 
    $result[] = $array2[ $index ]; 
} 
echo implode(', ', $result); 
+0

спасибо, работает для меня по моему вкусу. –

6

Просто получить array_intersect_key() ключей, но так как у вас есть ключи в качестве значений первого массива вы должны перевернуть его с array_flip(), например,

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

Nice один. Очень чистый и пятнистый. – martynasma

+0

довольно хороший ответ, я понял. –