Мне не понравились другие варианты, предложенные здесь, если кто-то еще ищет эту функцию, вот быстрая реализация:
function array_filter_keys($a, $c){
$i=array_filter(array_keys($a), $c);
return array_intersect_key($a, array_flip($i));
}
Результат этой функции в точности такой, как она звучит, она вернет массив, отфильтрованный функцией обратного вызова, которая получает ключи, а не значения.
EDIT:
Это скорее отказ от ответственности, после прочтения некоторых других комментариев я понимаю, что ОП на самом деле просто ищет array_intersect
, как указал Хакре. Я оставлю этот ответ здесь, так как в вопросе OP четко не указано, что нужно, и эта страница отображается в google для array_filter_keys