لغات البرمجة

الحلقات التكرارية في php

الحلقات التكرارية في php
الحلقات التكرارية في php

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

شرح الحلقات التكرارية في php

الحلقات التكرارية في php

الحلقات التكرارية في php

مفهوم التكرار في php

يعتمد مفهوم الحلقات التكرارية في php على تكرار جزء من الكود عدد معين من المرات. ويمكن تحديد عدد مرات التكرار بما يناسب الغرض من الكود المكتوب، ويعد التكرار أساسيا في برمجة المواقع والتطبيقات المختلفة.

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

ويمكن إدراج التكرار في إدخالات المستخدم لإدخال مجموعة من القيم أو الصور إلى قاعدة البيانات. ومن البديهي معرفة أن التكرار محكوم بشروط وقيود يتم تحديدها من قبل المبرمج بهدف تجنب وضع حلقة تكرارية لا نهائية تؤدي إلى فشل في التنفيذ.

ولا بد من ذكر أن الحلقات التكرارية في البرمجة تعتمد على وجود متحول رئيسي يدعى عداد الحلقة. وللتعرف على كيفية تعريف متحول يمكنك قراءة المقال المتغيرات وأنواع البيانات في php.

عداد الحلقات التكرارية في php

عداد الحلقة

التكرار باستخدام while

البنية الأولى التي توضح كيفية إنشاء الحلقات التكرارية في php، ولها بنية محددة تعتمد على مجموعة من الشروط ليتم تنفيذها بشكل صحيح. وتكون بينة الحلقة while loop كالتالي.

تهيئة العداد;

While (شرط ما) {

مجموعة تعليمات ستتنفذ في حال تحقق الشرط;

زيادة العداد;

}

تعتمد بنية while loop على شرط موجود ضمن أقواسها، ويمكنك التعرف على الشروط في لغة php عبر مقالنا الجمل الشرطية في php. وهنا نميز ثلاث حالات ممكنة.

  • شرط صحيح مؤقتا: سيتم تكرار تنفيذ التعليمات بداخل الأقواس المتعرجة بشكل مستمر بالتزامن مع صحة الشرط. وفي حال اختلال الشرط سيتم الخروج من الحلقة.
  • شرط صحيح دائما: سيتم تكرار تنفيذ التعليمات الموجود في الأقواس المتعرجة إلى ما لانهاية.
  • شرط خاطئ: لن يتم الدخول إلى التعليمات الخاصة بجسم الحلقة أبداً.

ولنوضح الحالات الثلاث السابقة بمثال، سنقوم بتعريف متحول وليكن i (سيمثل عداد الحلقة). وشرط الحلقة أن المتحول i اقل من 10، في حال تحقق هذا الشرط ستتم طباعة قيمته، ومن ثم سنقوم بزيادة قيمة العداد بواحد. وسنرى ناتج عملية الطباعة والتي ستكون قيمة العداد من 1 وحتى 9. أما بالنسبة للحالة الثانية فلن نقوم بتنفيذها لأنها تؤدي إلى تعطيل المتصفح بسبب الحلقة اللانهائية.

أما بالنسبة للحالة الثالثة فسنقوم بتعريف متحول آخر k ونعطيه القيمة 2 ونختبر الشرط في حال كانت سالبة سنطبع الكلمة true، وإلا سنخرج من الحلقة ونطبع الكلمة false في نهاية الكود.

التكرار باستخدام while - الحلقات التكرارية في php

التكرار باستخدام while

الحلقة التكرارية for loop

لاحظنا في الحلقات التكرارية من نوع while loop أنه يتم تهيئة المتحول في البداية ومن ثم اختبار الشرط وبعدها تتم زيادة قيمة العداد. أما في التكرار for سنقوم بالزيادة واختبار الشرط وتهيئة المتحول في نفس السطر البرمجي بفضل بنية هذه الحلقة وهي كالتالي.

for (تهيئة المتحول;اختبار الشرط; زيادة قيمة المتحول) {

سيتم تنفيذ التعليمات الموجودة هنا في حال تحقق الشرط;

}

كما أننا سنقوم بتحويل المثال السابقة ليتناسب مع ال for loop، أي أننا سنقوم بطباعة قيمة العداد من الرقم 1 وحتى أصغر من الرقم 10. ويمكنك ملاحظة الفرق في كتابة الكود والحصول على نفس النتيجة. منوهين إلى أن ال for loop هي الأكثر شيوعا بين الأنواع كلها.

الحلقة التكرارية for loop

الحلقة التكرارية for loop

التكرار باستخدام do while loop

مشابهة إلى حد كبير للنوع الأول (While loop) حيث أننا سنتبع نفس الخطوات وسنقوم بتعريف متحول i وتهيئته بالقيمة 1. والدخول في جسم الحلقة وطباعة قيمته ومن ثم اختبار الشرط. وتكون بنية هذا النوع من الحلقات على الشكل التالي.

تعريف المتحول;

do {

جسم الحلقة;

زيادة العداد;

} while (شرط الحلقة);

كما أننا سنقوم بتحويل الكود السابق ليتناسب مع do while loop، كما هو مبين بالصورة. وسترى أن نتيجة التنفيذ هي ذاتها أيضاً كما هو موضح بالصورة.

التكرار باستخدام do while loop

التكرار باستخدام do while loop

الحلقة foreach التكرارية

من أهم أنواع الحلقات التكرارية في php، وتختلف في بنيتها عن الحلقات السابقة وهي النوع الأخير من الحلقات. تعتمد على المصفوفات في المقام الأول لطباعة محتويات المصفوفة بطريقة ديناميكية دون الحاجة لتعريف متحول كعداد أو زيادته ووضع شرط ما.

كما تستخدم بشكل رئيسي مع قواعد البيانات في php، وإذا كنت لا تعرف ما هي قواعد البيانات. يمكنك قراءة المقال التالي حول الأدوات اللازمة لتعلم لغة php وكذلك ربط ملفات php مع قاعدة البيانات، وبنيتها على الشكل التالي.

foreach (اسم المصفوفة as متحول محلي ) {

مجموعة تعليمات برمجية;

}

المتحول المحلي هو عبارة عن متحول نعرف عنه داخل أقواس foreach loop ليتم استخدامه ضمنها فقط. أي أنه غير مستخدم خارج الحلقة أبداً. والمصفوفة هي عبارة عن متحول يضم مجموعة من الحجرات الذاكرية المرتبة لتخزين مجموعة من القيم الرقمية أو النصية. ويتم تعريف مصفوفة بالشكل التالي.

$k = array (قيم المصفوفة);

أي أن المتحول k هو عبارة عن مصفوفة تضم مجموعة قيم. وبناءً على ما سبق سنقوم بتعريف مصفوفة تحتوي على مجموعة أسماء. وسنمررها بداخل الحلقة السابقة لعرض جميع قيمها دفعة واحدة، كما هو مبين بالصورة التالية.

الحلقة foreach التكرارية

الحلقة foreach التكرارية

وكنتيجة للتنفيذ قمنا بتضمين كود html داخل القسم الخاص بالحلقات التكرارية في php. وإذا كنت لا تعلم ما هي لغة html، يمكنك قراءة المقال التالي حول شرح أساسيات لغة html5. عن طريق استخدام الرمز دوت (.) وستكون نتيجة التنفيذ طباعة عناصر المصفوفة كعنوان h1 (أي بخط أسود وعريض وكبير الحجم).

طباعة عناصر المصفوفة كعنوان h1

طباعة عناصر المصفوفة كعنوان h1

الأسئلة الشائعة حول الحلقات

تعتبر بنى الحلقات من المواضيع المطلوبة بكثرة في على الإنترنت. لذا قمنا بجمع أهم الأسئلة المتداولة حول الحلقات التكرارية في php.

هل يمكن تغيير قيمة العداد في الحلقة؟

بالطبع يمكن زيادة قيمة العداد بأي رقم تريده، كما يمكنك جعل قيمة العداد تتناقص عوضاً عن الزيادة. أي بدل كتابة $i++ يمكن كتابة –$i حيث تعتبر الكتابة السابقة للزيادة أو النقصان بقيمة 1 فقط.
ويمكن زيادة قيمة العداد أو إنقاصها برقم مغاير للواحد باستخدام التعليمة $i=$i (+/-) value وتأخذ ال value أي قيمة ممكنة.

ما هو الفرق بين الحلقة while والحلقة do while؟

هناك فرق في عملية التنفيذ فقط، حيث أن الحلقة while تختبر الشرط في البداية ومن قم تقوم بتنفيذ التعليمات في جسم الحلقة. أما الحلقة do while فهي تقوم بتنفيذ التعليمات مرة واحدة ثم تختبر الشرط الموضح في اقواس ال while.

ما هو أفضل نوع من الحلقات في php؟

من الناحية المتعلقة بالتنفيذ لا توجد حلقة أفضل من اخرى ولكن من ناحية عدد الأكواد والأسطر البرمجية المستخدمة فإن الحلقة for تتفوق على بقية الأنواع. أما في حال المصفوفات فإن الحلقة foreach تتفوق عليهم جميعا.

وفي ختام مقالنا عن الحلقات التكرارية في php، نلاحظ الدور المهم الذي تقوم به. ولا بد من التعرف على تفاصيلها بالنسبة لأي مبرمج مبتدئ، كما أنك سترى الدور الرئيسي لها في المقالات القادمة. لذا تابعوا موقعنا عربي تك للمزيد من الشروحات التفصيلية.

إقرأ أيضاً: الجمل الشرطية في php

أكتب تعليقك ورأيك

التعليق 1