في هذا الدرس سنلقي نظرة على المصفوفات، كيف تستخدم وماذا يمكنها أن تفعل.
فهم المصفوفات يمكن أن يكون صعباً في البداية، لكن لنجرب على أي حال ... حاولنا أن نجعلها سهلة بقدر الإمكان.
يبدو هذا مثيراً للحيرة، لكنها في الواقع ليست بهذا القدر من التعقيد.
تصور قائمة من الكلمات فصلنا بينها باستخدام فاصلة، تسمى القائمة مفصولة بفواصل، ويمكنها أن تكون بهذا الشكل:
جرب أن تتخيل تقسيم القائمة عند كل فاصلة، ثم أعطي كل قسم رقماً مميزاً كما في الصورة:
ما تراه هو مصفوفة، يمكننا مثلاً أن نسمي المصفوفة فواكه أو "fruits"، الفكرة هي أنك تستطيع الوصول إلى المصفوفة برقم وتحصل على قيمة، كما في القائمة أدناه:
fruits(0) = apples
fruits(1) = pears
fruits(2) = bananas
fruits(3) = oranges
fruits(4) = lemons
هذه هي فكرة المصفوفات، الآن لنستخدمها عملياً.
بعد ذلك نستخدم وظيفة
explode لفصل القائمة عند كل فاصلة:
مرحى! المتغير "$arrFruits" أصبح مصفوفة الآن!
لاحظ أننا استخدمنا الوظيفة
explode بخاصيتين:
لنجرب إضافة تعليق على البرنامج ووضعه في صفحة PHP:
هذا مثال بسيط جداً ويمكن أن تجد صعوبة في فهم فائدة المصفوفات في هذه المهمة بالتحديد، لكن انتظر، المصفوفات يمكن أن تكون تستخدم في أشياء كثيرة مفيدة.
عندما تعلم كم عدد العناصر التي تحويها مصفوفة فلن تكون هناك مشكلة في تحديد حلقة، ببساطة تبدأ من الصفر وتجعل الحلقة تستمر في عملها بعدد العناصر المتوفرة، في المثال مع الفواكه الحلقة ستكون بهذا الشكل:
كما ترى، المتغير $x الذي ترتفع قيمته من 0 إلى 4 في الحلقة استخدم لجلب المصفوفة
ألن يكون من المفيد أن تكون هناك طريقة لإيجاد عدد العناصر في أي مصفوفة؟
هذا بالضبط ما يمكن أن تفعله وظيفة
foreach، الآن يمكننا أن نصمم حلقة تعمل بغض النظر عن عدد العناصر في المصفوفة:
هذه الحلقة ستعمل بغض النظر عن عدد العناصر التي تحويها المصفوفة.
لاحظ أننا استخدمنا وظيفة
array بدلاً من وظيفة
explode لإنشاء مصفوفة.
حسناً، اكتفينا بالمصفوفات، في الدرس التالي ستتعلم كيف تطور وظائف خاصة بك.
فهم المصفوفات يمكن أن يكون صعباً في البداية، لكن لنجرب على أي حال ... حاولنا أن نجعلها سهلة بقدر الإمكان.
ما هي المصفوفة؟
المصفوفة (array) هي مجموعة من من العناصر المفهرسة حيث كل عنصر له رقم تعريف خاص به.يبدو هذا مثيراً للحيرة، لكنها في الواقع ليست بهذا القدر من التعقيد.
تصور قائمة من الكلمات فصلنا بينها باستخدام فاصلة، تسمى القائمة مفصولة بفواصل، ويمكنها أن تكون بهذا الشكل:
apples, pears, bananas, oranges, lemons
fruits(0) = apples
fruits(1) = pears
fruits(2) = bananas
fruits(3) = oranges
fruits(4) = lemons
هذه هي فكرة المصفوفات، الآن لنستخدمها عملياً.
كيف تستخدم المصفوفة؟
سنكمل مع مثال الفواكه، خطوة بعد خطوة سنجعلها تعمل كمصفوفة حقيقية، أولاً علينا أن نضع متغيرات مساوية لقائمة الفواكه:<?php $fruitlist = "apples, pears, bananas, oranges, lemons"; ?>
<?php $fruitlist = "apples, pears, bananas, oranges, lemons"; $arrFruits = explode(",", $fruitlist); ?>
لاحظ أننا استخدمنا الوظيفة
- الأولى هي القائمة التي يجب تقسيمها.
- والثانية هي المحدد أو الحرف الذي استخدم لتقسيم القائمة (في حالتنا استخدمنا الفاصلة): ",".
لنجرب إضافة تعليق على البرنامج ووضعه في صفحة PHP:
<html> <head> <title>Array</title> </head> <body> <?php // Comma separated list $fruitlist = "apples, pears, bananas, oranges, lemons"; // Create an array by splitting the list (with comma as delimiter) $arrFruits = explode(",", $fruitlist); // Write the values from our array echo "<p>The list of fruits:</p>"; echo "<ul>"; echo "<li>" . $arrFruits[0] . "</li>"; echo "<li>" . $arrFruits[1] . "</li>"; echo "<li>" . $arrFruits[2] . "</li>"; echo "<li>" . $arrFruits[3] . "</li>"; echo "<li>" . $arrFruits[4] . "</li>"; echo "</ul>"; ?> </body> </html>
حلقة داخل مصفوفة
في الدرس الخامس تعلمت الحلقات، الآن يمكننا استخدام حلقة للتعامل مع المصفوفة.عندما تعلم كم عدد العناصر التي تحويها مصفوفة فلن تكون هناك مشكلة في تحديد حلقة، ببساطة تبدأ من الصفر وتجعل الحلقة تستمر في عملها بعدد العناصر المتوفرة، في المثال مع الفواكه الحلقة ستكون بهذا الشكل:
<html> <head> <title>Array</title> </head> <body> <?php // Comma separated list $fruitlist = "apples, pears, bananas, oranges, lemons"; // Create an array by splitting the list (with a comma as delimiter) $arrFruits = explode (",", $fruitlist); echo "<p>The list of fruits:</p>"; echo "<ul>"; // Loop through the array $arrFruits for ($x=0; $x<=4; $x++) { echo "<li>" . $arrFruits[$x] . "</li>"; } echo "</ul>"; ?> </body> </html>
كيف تجد حجم المصفوفة؟
ماذا لو أضفنا فاكهة أخرى إلى القائمة؟ ستحوي القائمة عنصراً إضافياً وسيحمل رقم التعريف 5، هل ترى مشكلة هنا؟ نحن بحاجة لتغيير الحلقة حتى تستطيع أن تكرر نفسها من 0 إلى 5 وإلا لن نستطيع التعامل مع كل العناصر في المصفوفة.ألن يكون من المفيد أن تكون هناك طريقة لإيجاد عدد العناصر في أي مصفوفة؟
هذا بالضبط ما يمكن أن تفعله وظيفة
<?php foreach ($arrFruits as $x) { echo arrFruit[$x]; } ?>
مثال آخر
المثال أدناه يوضح كيفية استخدام المصفوفة لكتابة اسم كل شهر:<html> <head> <title>Array<title> </head> <body> // Creates array with each month. // Creates array with the months. Note the comma before January - because there is no month with the number 0 $arrMonths = array(,"January","February","March","April","May","June","July","August","September","October","November","December); // Call the array with the number of the month - write to the client echo $arrMonths[date("m")]; ?> </body> </html>
حسناً، اكتفينا بالمصفوفات، في الدرس التالي ستتعلم كيف تطور وظائف خاصة بك.
0 التعليقات
إرسال تعليق
السلام عليكم ورحمة الله وبركاته ترحب مدونة lerentable بزوارها الكرام وتفسح المجال لتعليقاتهم بالنشر طالما هي تلتزم بالسلوكيات الصحيحة للإعلام الملتزم، ولا تخرج لحدود المساس القانوني بالاشخاص والجهات، وهي إذ تضمن النشر تشير إلى أن ما ينشر لا يعبر عن موقفها ورأيها بالضرورة
فلابد أن لديك ما تود كتابته.أرجوا منك أن تترك رأيك، انطباعك، استيائك، إعجابك، اقتراحك.ولا تهتم، قل ما يجول في عقلك حيال مدونتي والمواد المنشورة فيها ويسرني تقبل رأيك بصدر