استخراج أول عنصر من مصفوفة PHP: 7 طرق عملية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

المصفوفات في PHP: لغز دائم مع العنصر الأول

\n\n

كل مطور PHP واجه مرة على الأقل مهمة: "كيف أحصل على أول عنصر من المصفوفة؟". قد يبدو الأمر بسيطًا، لكن الشيطان يكمن في التفاصيل. المصفوفات في PHP تكون إما مفهرسة (بمفاتيح رقمية) أو ترابطية (بمفاتيح نصية)، وما يصلح لنوع قد لا يصلح للآخر.

\n\n

في هذا المقال، سنستعرض 7 طرق مثبتة للحصول على أول عنصر من المصفوفة، ونقارن أداءها، ونعرف أي طريقة تختار في كل حالة. ستتعرف لماذا array_shift() ليست دائمًا الخيار الأفضل، وكيف يمكن لـ reset() أن تنقذ كودك.

\n\n

المحتويات

\n\n\n

الطريقة 1: array_shift() — الكلاسيكية

\n

الطريقة الأكثر وضوحًا هي استخدام دالة array_shift(). هذه الدالة تستخرج أول عنصر من المصفوفة وتحذفه من المصفوفة الأصلية.

\n\n
<?php\n$fruits = ['apple', 'banana', 'cherry'];\n$first = array_shift($fruits);\necho $first; // apple\nprint_r($fruits); // [1 => 'banana', 2 => 'cherry']\n?>
\n\n

الإيجابيات: بسيطة وبديهية.

\n

السلبيات: الدالة تغير المصفوفة الأصلية. إذا كنت بحاجة للحفاظ على البيانات، فهذه الطريقة غير مناسبة. أيضًا، للمصفوفات الكبيرة، قد تكون العملية مكلفة.

\n\n

الطريقة 2: reset() — الحيلة الذكية مع المؤشر

\n

دالة reset() تعيد تعيين المؤشر الداخلي للمصفوفة إلى أول عنصر وتعيد قيمته. ولا يتم تغيير المصفوفة!

\n\n
<?php\n$fruits = ['apple', 'banana', 'cherry'];\n$first = reset($fruits);\necho $first; // apple\nprint_r($fruits); // ['apple', 'banana', 'cherry'] — المصفوفة لم تتغير\n?>
\n\n

هذه الطريقة تعمل بشكل ممتاز مع المصفوفات المفهرسة والترابطية. reset() هي المفضلة لدي شخصيًا لمعظم المهام.

\n\n

ملاحظة مهمة: إذا كانت المصفوفة فارغة، فإن reset() ستعيد false. ضع ذلك في اعتبارك!

\n\n

الطريقة 3: current() بعد reset() — للتحكم الكامل

\n

أحيانًا تحتاج ليس فقط للحصول على أول عنصر، ولكن أيضًا للتأكد من أن المؤشر يقف عليه. الجمع بين reset() و current() يمنحك تحكمًا كاملاً.

\n\n
<?php\n$fruits = ['apple', 'banana', 'cherry'];\nreset($fruits);\n$first = current($fruits);\necho $first; // apple\n// المؤشر بقي على أول عنصر\n$second = next($fruits);\necho $second; // banana\n?>
\n\n

هذه الطريقة مفيدة عندما تخطط للتكرار عبر المصفوفة باستخدام next() و prev() ودوال أخرى للتعامل مع المؤشر.

\n\n

الطريقة 4: array_values() + [0] — الحل الشامل

\n

إذا كنت تتعامل مع مصفوفة ترابطية ولا تعرف مفتاح أول عنصر، يمكنك إعادة تعيين جميع المفاتيح باستخدام array_values() ثم الوصول إلى الفهرس صفر.

\n\n
<?php\n$user = ['name' => 'John', 'age'                

المدونات

توصيات الكتب