¿Cómo fusionar dos matrices tomando solo valores de la segunda matriz que tiene las mismas claves que la primera?

Me gustaría fusionar dos matrices entre sí:

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

ientras que la fusión debe incluir todos los elementos de$filtered y todos esos elementos de$changed que tienen una clave correspondiente en$filtered:

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

array_merge($filtered, $changed) agregaría las claves adicionales de$changed dentro$filtered también. Por lo tanto, realmente no encaja.

Sé que puedo usar$keys = array_intersect_key($filtered, $changed) para obtener las claves que existen en ambas matrices, que ya es la mitad del trabajo.

in embargo, me pregunto si hay alguna función (nativa) que pueda reducir la$changed matriz en una matriz con la$keys especificado porarray_intersect_key? Sé que puedo usararray_filter con una función de devolución de llamada y verificar con$keys allí, pero probablemente exista alguna otra función puramente nativa para extraer solo esos elementos de una matriz de los cuales se pueden especificar las claves?

Pregunto porque las funciones nativas suelen ser mucho más rápidas quearray_filter con una devolución de llamada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta