Получить из ассоциативного массива только те элементы, которые указаны

Уже поздно, и я знаю, что это очень простой вопрос, но прямо сейчас у меня нет идеи, и крайний срок близок.

У меня два массива:

$array1 = array( 'a' => 'asdasd', 'b' => 'gtrgrtg', 'c' => 'fwefwefw', 'd' => 'trhrtgr', ); $array2 = array( 'b', 'c' ); 

Каково было имя функции для получения части массива-помощника по ключам из второго массива?

 $result = array( 'b' => 'gtrgrtg', 'c' => 'fwefwefw', ); 

Благодаря !

Попробуй это:

 array_intersect_key($array1, array_flip($array2)). 

Я думаю, что нет такой функции, поэтому я буду ее реализовывать:

 function array_filter_keys($array, $keys) { $newarray = array(); foreach ($keys as $key) { if (array_key_exists($key, $array)) $newarray[$key] = $array[$key]; } return $newarray; } 

Мне любопытно посмотреть, есть ли встроенная функция, которая делает это. Вот как я это сделаю.

 $result = array(); foreach ($array2 as $key) { if (array_key_exists($key, $array1) { $result[$key] = $array1[$key]; } }