شرح المصفوفات المفهرسة في PHP
تخيل أنك تبني صفحة "أفضل المنتجات" في متجر إلكتروني. اليوم لديك 3 منتجات، وغداً 30. إذا استخدمت متغيراً لكل منتج، سيصبح الكود فوضوياً بسرعة. هنا تبدأ قوة المصفوفات المفهرسة في PHP (Indexed Arrays).
في هذا الدرس ستتعلم كيف تنتقل من تخزين بيانات مشتتة إلى بنية منظمة، ثم كيف تقرأ العناصر، تعدّها، وتطبعها كلها بأسلوب احترافي بسيط.
لماذا نحتاج المصفوفات المفهرسة في PHP؟
قبل المصفوفات، قد تكتب شيئاً مثل:
<?php
$product1 = "Laptop";
$product2 = "Mouse";
$product3 = "Keyboard";
?>
هذا يعمل في البداية، لكنه غير عملي عند زيادة البيانات. الحل الأفضل:
<?php
$products = ["Laptop", "Mouse", "Keyboard"];
?>
الآن كل المنتجات داخل متغير واحد، ويمكنك إدارتها بسهولة.
ما هي Indexed Array؟
المصفوفة المفهرسة هي مصفوفة تُخزّن القيم بفهارس رقمية تلقائية تبدأ من 0.
العنصر الأول → الفهرس 0
العنصر الثاني → الفهرس 1
العنصر الثالث → الفهرس 2
0 وليس 1.
الوصول إلى عناصر المصفوفة خطوة بخطوة
الكود:
<?php
$products = ["Laptop", "Mouse", "Keyboard"];
echo $products[0]; // Laptop
echo "<br>";
echo $products[2]; // Keyboard
?>
ما يظهر في المتصفح:
Laptop
Keyboard
بهذه الطريقة تستطيع اختيار أي عنصر عبر رقمه داخل المصفوفة.
حساب عدد العناصر باستخدام count()
في المشاريع الواقعية، غالباً تحتاج معرفة عدد العناصر قبل الطباعة أو قبل تنفيذ منطق معيّن:
<?php
$products = ["Laptop", "Mouse", "Keyboard", "Monitor"];
echo count($products); // 4
?>
دالة count() أساسية جداً عند التعامل مع Arrays في PHP.
طباعة كل العناصر باستخدام foreach
لنكمل قصة المتجر: لديك قائمة منتجات وتريد عرضها كلها للمستخدم. هنا foreach هي الخيار الأسرع والأوضح.
<?php
$products = ["Laptop", "Mouse", "Keyboard"];
foreach ($products as $product) {
echo "المنتج: $product <br>";
}
?>
ما يظهر في المتصفح:
المنتج: Laptop
المنتج: Mouse
المنتج: Keyboard
for أم foreach في المصفوفات المفهرسة؟
| المعيار | for | foreach |
|---|---|---|
| عند الحاجة إلى رقم الفهرس | مناسب جداً | أقل شيوعاً |
| عند طباعة كل العناصر فقط | ممكن لكن أطول كتابة | أفضل وأبسط |
| سهولة القراءة للمبتدئين | متوسطة | عالية |
$products[10] ستواجه تحذيراً. تأكد دائماً من حدود المصفوفة.
أخطاء شائعة يقع فيها المبتدئون
- البدء من 1 بدل 0: وهذا يسبب تجاهل أول عنصر.
- تجاوز الحدود: طلب فهرس أكبر من عدد العناصر.
- نسيان count(): خاصة عند استخدام
for. - التسمية غير الواضحة: اختيار أسماء عامة مثل
$aبدل$products.
تمرين تطبيقي سريع
- أنشئ مصفوفة باسم
$topCoursesتحتوي على 5 دورات. - اطبع أول دورة وآخر دورة.
- اعرض عدد الدورات باستخدام
count(). - استخدم
foreachلطباعة كل دورة في سطر مستقل.
هدف التمرين: تحويل الفكرة من "أنا فهمت الدرس" إلى "أنا أستطيع كتابة كود فعلي بالمصفوفات المفهرسة في PHP".
الأسئلة الشائعة — FAQ
ما هي المصفوفة المفهرسة في PHP؟
هي مصفوفة تُخزن عناصرها بفهارس رقمية تلقائية تبدأ من 0.
لماذا يبدأ الفهرس من 0؟
لأن PHP تعتمد نظام الفهرسة الصفرية مثل أغلب لغات البرمجة.
كيف أحسب عدد العناصر؟
استخدم count($array) للحصول على عدد العناصر مباشرة.
متى أستخدم for ومتى foreach؟
استخدم foreach للطباعة السريعة والواضحة، وfor عندما تحتاج التعامل مع الفهرس نفسه.