Avatar ·

كيفية تصفية مصفوفة ترابطية حسب المفاتيح باستخدام قيم من مصفوفة مفهرسة؟

مرحباً بالجميع! أنا مبتدئ في PHP وواجهت مشكلة أثناء العمل مع المصفوفات. لدي مصفوفة ترابطية $users حيث المفاتيح هي معرفات المستخدمين والقيم هي أسمائهم. كما يوجد مصفوفة مفهرسة $allowed_ids تحتوي على قائمة المعرفات التي يجب الاحتفاظ بها. إليك مثال على البيانات: ```php $users = [ 101 => 'Анна', 102 => 'Борис', 103 => 'Виктор', 104 => 'Галина', 105 => 'Дмитрий' ]; $allowed_ids = [102, 104, 105]; ``` أحتاج إلى الحصول على مصفوفة جديدة تحتوي فقط على العناصر من $users التي تكون مفاتيحها موجودة في $allowed_ids. أي أنني أريد الحصول على الناتج التالي: ```php [ 102 => 'Борис', 104 => 'Галина', 105 => 'Дмитрий' ] ``` حاولت استخدام array_filter() لكنني لا أفهم كيفية تمرير مفاتيح المصفوفة إلى دالة callback بدلاً من القيم. جربت array_intersect_key() لكنه يعمل مع المصفوفات حيث تتطابق المفاتيح، بينما $allowed_ids لدي هي مجرد قائمة قيم. أرجو المساعدة، من فضلكم.