Avatar ·

Cómo filtrar un array asociativo por claves usando valores de un array indexado

¡Hola a todos! Soy nuevo en PHP y me encontré con un problema al trabajar con arrays. Tengo un array asociativo $users, donde las claves son IDs de usuarios y los valores son sus nombres. También tengo un array indexado $allowed_ids que contiene una lista de IDs que deben conservarse. Aquí hay un ejemplo de datos: ```php $users = [ 101 => 'Анна', 102 => 'Борис', 103 => 'Виктор', 104 => 'Галина', 105 => 'Дмитрий' ]; $allowed_ids = [102, 104, 105]; ``` Necesito obtener un nuevo array que contenga solo aquellos elementos de $users cuyas claves estén presentes en $allowed_ids. Es decir, quiero obtener como resultado: ```php [ 102 => 'Борис', 104 => 'Галина', 105 => 'Дмитрий' ] ``` Intenté usar array_filter(), pero no entiendo cómo pasar las claves del array a la función callback, en lugar de los valores. Probé con array_intersect_key(), pero funciona con arrays donde las claves coinciden, y en mi caso $allowed_ids es una simple lista de valores. Por favor, indíquenme