يمكن القول أن عبارة for هي العبارة الأساسية في جزء التحكم في الحلقة في PHP (وفي العديد من اللغات) لن تتم مناقشة قواعد التنفيذ والاستخدام الأساسي لعبارة for هنا من دليل PHP. يتم تعريف بناء الجملة الخاص به في دليل PHP على النحو التالي:
for (expr1; expr2; expr3)
بيان
دعونا نتحدث عن العديد من الاختلافات المفيدة للبيان.
1. الحلقة اللانهائية
بادئ ذي بدء، إنها الحلقة اللانهائية (وتسمى أيضًا "الحلقة الميتة") التي يعرفها الجميع. نظرًا لأن التعبير الفارغ null صالح من الناحية النحوية، فيمكننا ترك التعبيرات الثلاثة لعبارة for فارغة، مما سيكون له تأثير التنفيذ المستمر لعبارات for المتداخلة.
<?php
ل (؛؛) {
// ضع البيانات التي يجب تنفيذها بشكل مستمر
}
?>
على الرغم من أن بعض المهام ستستخدم حلقات لا نهائية، إلا أن معظم مهام البرنامج، وخاصة الحقول التي يمكن أن تتضمنها PHP، ستضيف بعض الشروط لإنهاء الحلقة عند استخدام حلقات لا نهائية.
<?php
ل (؛؛) {
// إذا كان عام 2199 م، فاخرج من الحلقة if (date('Y') == '2199') {
استراحة؛
}
}
>
2. استخدم التعبيرات الفارغة
بعد ذلك، دعنا نتحدث عن استخدام بناء الجملة الفارغ في بيان التهيئة expr1. الوظيفة الأكثر شيوعًا لترك expr1 فارغًا هي إكمال أعمال التهيئة الأكثر تعقيدًا.
<?php
إذا (إيسيت($i)) {
غير محدد($i);
إذا ((int) التاريخ('') < 2008) {
$i = 0;
} آخر {
$i = 1;
}
} آخر {
$i =3;
}
for (;$i < 10;$i++) {
صدى $i;
}
?>
بنفس الطريقة، يمكن أيضًا ترك تعبير التكرار expr3 فارغًا ويمكن استخدامه أيضًا لكتابة تكرارات أكثر تعقيدًا، مثل استدعاء تكرارات مختلفة وفقًا لشروط مختلفة.
ترك العبارة الشرطية expr2 في عبارة for فارغة هو الحلقة اللانهائية المذكورة أعلاه، بالطبع، يمكنك أيضًا إضافة بعض الشروط الأكثر تعقيدًا لتحديد وقت القفز خارج الحلقة، والتي لن تتكرر هنا.
3. حلقات متعددة
يعد استخدام حلقات متعددة للتحكم في متغيرات متعددة أيضًا ميزة غالبًا ما يتم تجاهلها في عبارة for. كما في المثال أدناه، تُستخدم الحلقات المزدوجة بشكل عام في المهام العامة، وتكون الحلقات المكونة من ثلاثة أو أكثر ذات أهمية قليلة بشكل عام.
<?php
لـ ($i = 0, $j = 10;$i <= 10;$i++, $j--) {
صدى "$i + $j = 10rn";
}
?>
سيخرج الكود أعلاه:
0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10
4. تعبيرات أكثر تعقيدًا
إذا كانت التعبيرات الثلاثة لعبارة for مكتوبة بشكل أكثر تعقيدًا، فيمكن استخدامها لخوارزميات التحسين. يمكنك أيضًا استخدام عبارة for بدون نص حلقة لإكمال بعض المهام. على سبيل المثال، لحساب التراكم أو المضروب:
<?php
// احسب النتيجة التراكمية من 1 إلى 5، وقيمة bin إلى $j
لـ ($i = 1,$j = 0; $i <= 5;$j += $i++);
echo $j;
// احسب النتيجة المضروبة من 1 إلى 5، وقيمة الحاوية إلى $j
لـ ($i = 1,$j = 1; $i <= 5;$j *= $i++);
echo $j;
?>
يستخدم PHP بناء جملة لغة C وسيكون له أيضًا خصائص لغة C إلى حد ما. على سبيل المثال، تعتبر عبارة حلقة for القوية مثالًا نموذجيًا.