Como mesclar duas matrizes assumindo apenas os valores da segunda matriz que possui as mesmas chaves que a primeir

Gostaria de mesclar duas matrizes entre si:

$filtered = array(1 => 'a', 3 => 'c');
$changed = array(2 => 'b*', 3 => 'c*');

Considerando que a mesclagem deve incluir todos os elementos de$filtered e todos esses elementos de$changed que possuem uma chave correspondente em$filtered:

$merged = array(1 => 'a', 3 => 'c*');

array_merge($filtered, $changed) adicionaria as chaves adicionais de$changed para dentro$filtered também. Portanto, ele realmente não se encaix

Sei que posso usar$keys = array_intersect_key($filtered, $changed) para obter as chaves existentes nas duas matrizes, que já são metade do trabalh

No entanto, estou me perguntando se existe alguma função (nativa) que possa reduzir o$changed array em um array com o$keys especificado porarray_intersect_key? Eu sei que posso usararray_filter com uma função de retorno de chamada e verifique$keys, mas provavelmente existe alguma outra função puramente nativa para extrair apenas os elementos de uma matriz da qual as chaves podem ser especificada

Estou perguntando porque as funções nativas geralmente são muito mais rápidas quearray_filter com retorno de chamada.

questionAnswers(2)

yourAnswerToTheQuestion