Avatar ·

Как получить первый ключ в ассоциативном массиве PHP (без сброса указателя)?

```html

مرحبًا بالجميع! أنا مطور PHP مبتدئ، وقد واجهت مشكلة مع المصفوفات.

لدي مصفوفة ترابطية قد تكون فارغة أو قد تحتوي على بيانات. أحتاج إلى الحصول على المفتاح الأول فقط من هذه المصفوفة دون تغيير مؤشرها الداخلي. المشكلة هي أنني لا أعرف مسبقًا ما هي المفاتيح التي ستكون في المصفوفة — فقد تكون رقمية أو نصية.

إليك مثال على الكود الخاص بي:

$users = [
    'john' => ['name' => 'John', 'age' => 30],
    'jane' => ['name' => 'Jane', 'age' => 25],
    'bob'  => ['name' => 'Bob', 'age' => 35]
];

// أحتاج إلى الحصول على المفتاح الأول 'john'
$firstKey = ???

لقد جربت استخدام الدوال key() و reset() و array_keys()، ولكن لكل منها عيوبها:

  • key() — تُرجع المفتاح الحالي وليس الأول. إذا كان المؤشر قد تحرك بالفعل، ستكون النتيجة غير صحيحة.
  • reset() — تعيد تعيين المؤشر إلى بداية المصفوفة، مما يغير حالتها.
  • array_keys() — تنشئ مصفوفة جديدة بجميع المفاتيح، مما قد يكون غير فعال للمصفوفات الكبيرة.

كيف يمكنني الحصول على المفتاح الأول بدون آثار جانبية؟

```