في لغة PHP، تُستخدم الحلقات (Loops) لتكرار تنفيذ كتلة من التعليمات البرمجية عدة مرات. هذا يوفر عليك كتابة نفس الكود مرارًا وتكرارًا، ويجعل الكود أكثر كفاءة ومرونة. هناك أربعة أنواع رئيسية من الحلقات في PHP:

  • حلقة for: تُستخدم عندما يكون عدد مرات التكرار معروفًا مسبقًا.
  • حلقة while: تُستخدم عندما يكون التكرار مشروطًا بتحقق شرط معين.
  • حلقة do...while: مشابهة لحلقة while، ولكنها تضمن تنفيذ كتلة الكود مرة واحدة على الأقل.

سأشرح كل نوع بالتفصيل مع أمثلة:

1. حلقة for:

تتكون حلقة for من ثلاثة أجزاء رئيسية:

  • التهيئة (Initialization): تُستخدم لتهيئة متغير العداد.
  • الشرط (Condition): يُحدد متى يجب أن تتوقف الحلقة.
  • التحديث (Increment/Decrement): يُستخدم لتحديث قيمة متغير العداد في كل دورة.
PHP
for ($i = 0; $i < 10; $i++) {
echo "الرقم: " . $i . "<br>";
}

في هذا المثال:

  • $i = 0: يتم تهيئة المتغير $i بالقيمة 0.
  • $i < 10: يتم فحص الشرط، إذا كان $i أصغر من 10، تستمر الحلقة.
  • $i++: يتم زيادة قيمة $i بمقدار 1 في نهاية كل دورة.

سيقوم هذا الكود بطباعة الأرقام من 0 إلى 9.

2. حلقة while:

تستمر حلقة while في تنفيذ كتلة الكود طالما أن الشرط المحدد صحيح.

PHP
$i = 0;
while ($i < 10) {
echo "الرقم: " . $i . "<br>";
$i++;
}

هذا المثال مطابق للمثال السابق باستخدام حلقة for. يجب الانتباه إلى تحديث قيمة المتغير $i داخل الحلقة، وإلا ستدخل الحلقة في حلقة لا نهائية.

3. حلقة do...while:

تشبه حلقة do...while حلقة while، ولكنها تضمن تنفيذ كتلة الكود مرة واحدة على الأقل، حتى لو كان الشرط غير صحيح من البداية.

PHP
$i = 10;
do {
echo "الرقم: " . $i . "<br>";
$i++;
} while ($i < 10);

في هذا المثال، سيتم طباعة الرقم 10 مرة واحدة على الرغم من أن الشرط $i < 10 غير صحيح من البداية.

4. حلقة foreach:

تُستخدم حلقة foreach للتكرار على عناصر المصفوفات.

PHP
$colors = array("أحمر", "أخضر", "أزرق");

foreach ($colors as $color) {
echo "اللون: " . $color . "<br>";
}

في هذا المثال، سيتم طباعة كل لون من المصفوفة $colors. يمكنك أيضًا استخدام foreach للحصول على مفتاح العنصر:

PHP
foreach ($colors as $key => $color) {
echo "المفتاح: " . $key . "، اللون: " . $color . "<br>";
}

استخدامات الحلقات:

تُستخدم الحلقات في العديد من المواقف، مثل:

  • معالجة البيانات في المصفوفات.
  • قراءة البيانات من الملفات.
  • إنشاء جداول HTML ديناميكية.
  • تنفيذ عمليات متكررة.

أتمنى أن يكون هذا الشرح واضحًا. إذا كان لديك أي أسئلة أخرى، فلا تتردد في طرحها.