المصفوفات (Arrays) في PHP تُعد واحدة من أهم الهياكل البياناتية التي تُستخدم لتخزين مجموعات من القيم. يمكن أن تحتوي المصفوفة على أي نوع من البيانات، مثل الأرقام، السلاسل النصية، أو حتى المصفوفات الأخرى. في هذا المقال، سنتعرف على أنواع المصفوفات في PHP، كيفية تعريفها، واستخداماتها الشائعة مع أمثلة توضيحية.
ما هي المصفوفات في PHP؟
المصفوفة هي متغير يمكنه تخزين أكثر من قيمة واحدة في وقت واحد. بدلاً من إنشاء متغيرات متعددة لتخزين بيانات ذات صلة، يمكن استخدام مصفوفة لتجميع هذه القيم معًا في هيكل واحد. يمكن الوصول إلى كل قيمة في المصفوفة باستخدام مفتاح (Key) فريد.
أنواع المصفوفات في PHP
هناك ثلاثة أنواع رئيسية من المصفوفات في PHP:
- المصفوفات المفهرسة (Indexed Arrays): تحتوي على سلسلة من القيم المفهرسة باستخدام أرقام صحيحة تبدأ من 0.
- المصفوفات الترابطية (Associative Arrays): تستخدم المفاتيح النصية للوصول إلى القيم المخزنة.
- المصفوفات متعددة الأبعاد (Multidimensional Arrays): تحتوي على مصفوفات بداخلها كمكونات، مما يسمح بتخزين بيانات في بنية متعددة الأبعاد.
1. المصفوفات المفهرسة
المصفوفات المفهرسة هي مصفوفات يتم فيها تخزين القيم باستخدام أرقام فهرسية. هذه الفهارس تبدأ من 0 ويمكن استخدامها للوصول إلى القيم المخزنة.
مثال على مصفوفة مفهرسة:
<?php
$fruits = ["تفاح", "موز", "برتقال"];
// الوصول إلى أول عنصر في المصفوفة
echo $fruits[0]; // سيعرض "تفاح"
?>
في هذا المثال، تحتوي المصفوفة $fruits
على ثلاثة عناصر. يمكن الوصول إلى كل عنصر باستخدام فهرسه، حيث $fruits[0]
يشير إلى “تفاح”.
2. المصفوفات الترابطية
المصفوفات الترابطية تستخدم المفاتيح النصية بدلاً من الأرقام للوصول إلى القيم. هذا النوع من المصفوفات يُعد مثاليًا عندما تحتاج إلى تخزين البيانات في أزواج “مفتاح/قيمة”.
مثال على مصفوفة ترابطية:
<?php
$person = [
"name" => "أحمد",
"age" => 25,
"city" => "القاهرة"
];
// الوصول إلى قيمة باستخدام مفتاح نصي
echo "الاسم: " . $person["name"]; // سيعرض "الاسم: أحمد"
?>
في هذا المثال، تم استخدام المصفوفة الترابطية $person
لتخزين معلومات حول شخص. يمكننا الوصول إلى الاسم والعمر والمدينة باستخدام المفاتيح النصية مثل "name"
و"age"
.
3. المصفوفات متعددة الأبعاد
المصفوفات متعددة الأبعاد هي مصفوفات تحتوي على مصفوفات أخرى كعناصر بداخلها. تُستخدم هذه المصفوفات لتمثيل البيانات في شكل شبكي أو جدولي.
مثال على مصفوفة متعددة الأبعاد:
<?php
$students = [
["name" => "أحمد", "grade" => 90],
["name" => "سارة", "grade" => 85],
["name" => "كريم", "grade" => 78]
];
// الوصول إلى اسم الطالب الأول ودرجته
echo $students[0]["name"] . " حصل على " . $students[0]["grade"] . " درجة";
?>
في هذا المثال، $students
هي مصفوفة متعددة الأبعاد تحتوي على مصفوفات ترابطية لكل طالب. يمكننا الوصول إلى اسم ودرجة كل طالب باستخدام الفهارس المناسبة.
استخدامات شائعة للمصفوفات في PHP
المصفوفات تُستخدم في العديد من السيناريوهات في PHP، منها:
- تخزين مجموعات من البيانات: مثل قائمة من المنتجات، أو أسماء الطلاب، أو أرقام الهواتف.
- تمثيل بيانات الجدول: يمكن استخدام المصفوفات متعددة الأبعاد لتمثيل البيانات الجدولية مثل الصفوف والأعمدة.
- معالجة البيانات: المصفوفات تُستخدم بشكل شائع في معالجة البيانات، مثل فرز القيم، البحث عن قيم معينة، أو إجراء عمليات حسابية على مجموعة من القيم.
- نقل البيانات: المصفوفات تُستخدم لنقل بيانات متعددة بين وظائف أو كائنات داخل البرنامج.
دوال مفيدة للعمل مع المصفوفات
PHP توفر مجموعة من الدوال المفيدة للتعامل مع المصفوفات، مثل:
count()
: لحساب عدد العناصر في المصفوفة.array_merge()
: لدمج مصفوفتين أو أكثر في مصفوفة واحدة.array_push()
: لإضافة عنصر جديد إلى نهاية المصفوفة.array_pop()
: لإزالة آخر عنصر من المصفوفة.array_keys()
: للحصول على جميع المفاتيح الموجودة في مصفوفة ترابطية.array_values()
: للحصول على جميع القيم الموجودة في مصفوفة ترابطية.
الخلاصة
المصفوفات في PHP تُعد أداة قوية ومرنة لتخزين ومعالجة البيانات. فهم كيفية تعريف المصفوفات، الوصول إلى قيمها، واستخدامها في سيناريوهات مختلفة هو جزء أساسي من البرمجة في PHP. مع الممارسة، ستجد أن المصفوفات تسهل الكثير من العمليات وتساعدك على كتابة كود أكثر تنظيمًا وفعالية.