Массив пересекается по ключу в массиве?

У меня есть массив со странами:

array(
'AF'=>'AFGHANISTAN',
'AL'=>'ALBANIA',
'DZ'=>'ALGERIA',
'AS'=>'AMERICAN SAMOA',
);

и у меня есть еще один массив, в котором есть некоторые ключи

array('AL', 'DZ');

Я хочу вызвать функцию, которая будет принимать оба массива в качестве параметров и возвращать

array(
'AL'=>'ALBANIA',
'DZ'=>'ALGERIA',
);

Я знаю, что php имеет встроенные функции для сравнения ключей или значений, но кажется, что все эти функции ожидают, что у вас будет два массива 1D или два массива 2D.

Я мог бы перебрать array_keys()для первого массива и выполнить in_array()проверку для каждого ключа, но это кажется действительно неэффективным...

16
задан Hailwood 25 July 2012 в 07:00
поделиться