حلقة while في PHP — شرح الكود والنتيجة

تخيّل أنك تبني صفحة تعرض إشعارات المستخدم. لا تعرف هل عنده 2 إشعار أو 20 أو صفر. هنا while تكون أنسب من for: نستمر في التكرار ما دام الشرط صحيحاً.

الفكرة ببساطة: «طالما»

while (condition) {
    // يتكرر هذا الكود
}

قبل كل دورة، PHP تسأل: "هل الشرط ما زال صحيحاً؟" إذا نعم، تنفذ سطر التكرار. إذا لا، تخرج فوراً من الحلقة وتكمل باقي البرنامج.

مثال 1: أول عداد بسيط

<?php
$x = 1;

while ($x <= 5) {
    echo "العدد هو: $x <br>";
    $x++;
}
?>

النتيجة في الصفحة:

العدد هو: 1
العدد هو: 2
العدد هو: 3
العدد هو: 4
العدد هو: 5

بدأنا بـ $x = 1 كقيمة بداية. في كل دورة نطبع $x ثم نزيده واحداً. عندما وصل إلى 6، لم يعد الشرط $x <= 5 صحيحاً، فتوقفت الحلقة بشكل طبيعي.

مثال 2: نفس المنطق لكن بالعكس

<?php
$x = 5;

while ($x >= 1) {
    echo "$x <br>";
    $x--;
}
?>

النتيجة:

5
4
3
2
1

بدل الزيادة، هذه المرة نستخدم $x-- للعد التنازلي. نفس القاعدة: تحديث العداد ضروري حتى نصل لنقطة توقف.

مثال 3: سيناريو أقرب للواقع

<?php
$attemptsLeft = 3;

while ($attemptsLeft > 0) {
    echo "لديك $attemptsLeft محاولات متبقية<br>";
    $attemptsLeft--;
}

echo "تم استهلاك كل المحاولات";
?>

النتيجة:

لديك 3 محاولات متبقية
لديك 2 محاولات متبقية
لديك 1 محاولات متبقية
تم استهلاك كل المحاولات

هذا نفس مفهوم تسجيل الدخول أو رمز التحقق: طالما هناك محاولات، نكرر. عندما تصبح 0، ينتهي التكرار وننتقل للخطوة التالية.

الخطأ الكلاسيكي الذي يقع فيه المبتدئون

انتبه: إذا نسيت تحديث المتغير داخل الحلقة، الشرط قد يبقى صحيحاً للأبد. مثال خطير: while ($x <= 5) { echo $x; }

متى أختار while بدل for؟

  • استخدم while عندما عدد التكرارات غير معروف مسبقاً.
  • استخدم for عندما عندك بداية ونهاية واضحتان للعداد.

تمرين سريع (بنفس قصة المحاولات)

  1. ابدأ بمتغير $coins = 5.
  2. اطبع رسالة "تبقّى X عملات" في كل دورة.
  3. أنقص العملات حتى تصل 0 ثم اطبع "انتهت العملات".
ممتاز! الآن while لم تعد مجرد صيغة، بل أداة تفكير: "استمر طالما الشرط صحيح" ثم توقف في اللحظة المناسبة.
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن