المصفوفات فى php



المصفوفات ( PHP ARRAYS ) تستخدم لتخزين أكثر من قيمة لمتغير ( PHP VARIABLES ) واحد. يمكنك أن تتخيل أنك تريد كتابة أسماء فريقك فتقوم بلصق مجموعة من علب الكبريت ببعض وكتابة اسم لاعب داخل كل علبة وتكتب على كامل العلب Team. بالتالي تصبح Team عبار عن صف من الأسماء Array .

كتابة المصفوفات Array syntax

يتم تعريف المصفوفة بهذا الشكل
array ();
الآن يمكن إضافة القيم (اسماء لاعبي الفريق) علي شكل مصفوفة بحيث يتم كتابة كل قيمة بين عامة الاقتباس الفردية (‘ ‘) ثم فاصلة Comma (,) وتخصيصها للمتغير team$ بهذا الشكل

استدعاء قيم المصفوفات
عرفنا أنه عند استدعاء قيمة داخل متغير انت فقط تكتب
echo $team;
لكن حين استدعاء المتغير بهذا الشكل لن يعمل كما تظن وسيظهر الخطأ التالي
لذا يجب عليك معرفة أنه يتم تعريف القيم داخل المصفوفة عن طريق أرقام تسمى الفهرس أو الـ Index بحيث يكون لأول قيمة في المصفوفة الرقم (0) ولا تبدأ بالرقم (1) بحيث اذا كانت المصفوفة تحتوي علي خمسة قيم يكون الـترقيم كالآتي (0-1-2-3-4).وهذا ترقيم ضمني غير ظاهر ولكن يجب معرفته حتي تستطيع استدعاء القيم.
وبالتالي عند استدعاء القيمة الثالثة وهي (Khaled) يتم كتابة الآتي
echo $team[2];
لاحظ استدعاء المتغير بالطريقة التقليدية ولكن تم إضافة [ ] وكتابة رقم الـ Index الخاص بالقيمة المطلوبة وهو 2 في هذه الحالة. مثال عملي
1- عليك أولاً تنصيب الخادم المحلي ( LOCAL SERVER ) أو تشغيله إن كان منصباً
2- قم بفتح برنامج ++ Notepad وعمل ملف جديد
3- إنسخ الكود التالي. (بدون الترقيم)
<?php
$team=array('Mohamed','Ahmed','Khaled','Wael','Wafaa');
echo $team[2]
?>
4- أحفظ الملف في مجلد htdocs الموجود داخل مجلد تنصيب Xampp بالأسم test وإمتداد php بحيث يكون test.php
5- قم بفتح المتصفح ثم أكتب في عنوان ملف الاختبار localhost/test.php ثم أضغط Enter
6- تم عرض القيمة Khaled .

أنواع المصفوفات

1- مصفوفات أحادية البعد One Dimensional Array : وهي النوع العادي الذي تحدثنا عنه في المثال السابق.
2- مصفوفات ثنائية البعد Two Dimensional Array : ببساطة يمكنك ان تتخيلها أيضا مجموعة من علب الكبريت (وليكن 9 علب) تم لصقها بحيث تكون ثلاثة أعمدة وثلاثة صفوف وأنك ستقوم بتخزين أي بيانات داخلها وليكن X و O بهذا الشكل
وبالتالي يتضح من الصورة أنها عبارة عن مصفوفة بداخلها عدد من المصفوفات ويتم كتابة المصفوفة ثنائية الأبعاد علي النحو التالي
$oxo=array(array('x','o','o'), array('o','x','o'), array('o','x','x'));
الموضوع أصبح أكثر تعقيداً ولكن لا مشكلة مادمت تعرف أساسيات كتابة المصفوفة.
كيف نستدعي قيمة معينة داخل مصفوفة من مجموعة المصفوفات السابقة؟
أولا يجب أن تعلم أن كل مصفوفة تعتبر بذاتها قيمة Value , بمعنى أنها تخضع لأسلوب الفهرسة الأساسي , أي المصفوفة الأول تأخذ الرقم المفهرس (0) والثانية (1) وكل قيمة داخل المصفوفة تخضع هي الأخري للفهرسة. لذا عند استدعاء القيمة الثالثة في المصفوفة الثانية يتم كتابة التالي
echo $oxo [1][2];// الرقم 1 لتحديد المصفوفة الثانية والرقم 2 لتحديد القيمة الثالثة فيها
يمكنك إختبار الكود التالي بنفس الطريقة السابقة وستجد عرض القيمة O وهي القيمة الثالثة في المصفوفة الثانية
<?php
$oxo = array(array('x','o','o'),
array('o','x','o'),
echo $oxo[1][2];
array('o','x','x'));
?>
بالطبع يمكنك إضافة أي عدد من المصفوفات في المصفوفة ثنائية الأبعاد.
وهذا النوع من المصفوفات يخضع لنظام الفهرسة الرقمي Numerically Indexed Arrays , لكن هناك أيضاً مصفوفات يمكن فهرستها باستخدام الأحرف (أسماء) تسمى المصفوفات الترابطية ( PHP ASSOCIATIVE ARRAY ).
صيغة بديلة للمصفوفات
يمكن كتابة المصفوفة بهذا الشكل ايضاً
<?php
$paper[] = "Copier";
$paper[] = "Inkjet";
$paper[] = "Photo";
$paper[] = "Laser"; print_r($paper);
?>
قمنا بعمل مصفوفة paper$ وأي قيمة يتم تعريفها يتم تخزينها في أول مساحة خالية داخل المصفوفة (أول علبة كبريت), ثم يتحرك مؤشر داخل ضمني (تخيلي) في ( PHP ) لبدء مساحة خالية جديدة (إضافة علبة كبريت فارغة) لحين إضافة قيمة أخرى. واستخدمنا دالة ( PHP print_r ) سابقة الإعداد في ( PHP ) التي تقوم بعرض محتويات المتغيرات أو المصفوفات أو الدوال , لتوضيح محتويات المصفوفة.

مبدأ المؤشر الضمني

لكي تستطيع فهم المصفوفات جيداً والتعامل معها يمكنك استرجاع طريقة علبة الكبريت, بحيث تتخيل أن هناك علامة (مؤشر) في بداية المصفوفة, هذا المؤشر يتحرك داخل المصفوفة إلى أن يصل للقيمة التي تستدعيها أو التي تقوم بتطبيق اي من دوال المصفوفات عليها , ثم يقوم بتنفيذ المطلوب.
المصفوفات فى php المصفوفات فى php Reviewed by tarik on يناير 26, 2019 Rating: 5

ليست هناك تعليقات:

يتم التشغيل بواسطة Blogger.