يتم إعطاؤك مقتطفًا برمجيًا يدمج صفائف من ملفات متعددة. مهمتك هي تنفيذ وظيفة `mergeArray`. تأخذ الدالة ثلاث معلمات: `$base`، و`$environment`، و`$local`. يجب أن تقوم الدالة بدمج هذه المصفوفات، مع إعطاء الأولوية للقيم من `$local`، ثم `$environment`، وأخيرًا `$base`.

يجب أن تتبع الوظيفة هذه القواعد:
1. في حالة وجود مفتاح في المصفوفات الثلاثة (`$local` و`$environment` و`$base`)، فيجب استخدام القيمة من `$local`.
2. إذا كان هناك مفتاح في كل من `$local` و`$environment` ولكن ليس في `$base`، فيجب استخدام القيمة من `$local`.
3. إذا كان هناك مفتاح في كل من `$local` و`$base` ولكن ليس في `$environment`، فيجب استخدام القيمة من `$local`.
4. إذا كان هناك مفتاح في كل من `$environment` و`$base` ولكن ليس في `$local`، فيجب استخدام القيمة من `$environment`.
5. إذا كان المفتاح موجودًا فقط في `$local`، فيجب استخدام القيمة من `$local`.
6. إذا كان المفتاح موجودًا فقط في `$environment`، فيجب استخدام القيمة من `$environment`.
7. إذا كان المفتاح موجودًا فقط في `$base`، فيجب استخدام القيمة من `$base`.

اكتب دالة `mergeArray($base, $environment, $local)` تنفذ القواعد المذكورة أعلاه وترجع المصفوفة المدمجة.

**مدخل**
- ثلاث مصفوفات: `$base`، و`$environment`، و`$local`. يمكن أن تحتوي كل مصفوفة على ما يصل إلى 10^4 من أزواج قيمة المفتاح. يمكن أن تكون المفاتيح والقيم من أي نوع.

**انتاج**
- إرجاع مصفوفة مدمجة واحدة تتبع القواعد المحددة.

**ملحوظة**
- يمكنك أن تفترض أن المفاتيح ستكون دائمًا عبارة عن سلاسل ويمكن أن تكون القيم من أي نوع.

**مثال**
```
قاعدة $ = [
    'key1' => 'baseValue1',
    'key2' => 'baseValue2',
    'key3' => 'baseValue3',
];

بيئة $ = [
    'key2' => 'environmentValue2',
    'key3' => 'environmentValue3',
    'key4' => 'environmentValue4',
];

$ محلي = [
    'key1' => 'localValue1',
    'key4' => 'localValue4',
    'key5' => 'localValue5',
];

$result = mergeArray($base, $environment, $local);
// يجب أن تكون المصفوفة المدمجة كما يلي:
// [
// 'key1' => 'localValue1',
// 'key2' => 'environmentValue2',
// 'key3' => 'environmentValue3',
// 'key4' => 'localValue4',
// 'key5' => 'localValue5',
// ]
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}