كيفية تصفية مصفوفة ترابطية حسب المفاتيح باستخدام قيم من مصفوفة مفهرسة؟
مرحباً بالجميع! أنا مبتدئ في 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 لدي هي مجرد قائمة قيم.
أرجو المساعدة، من فضلكم.