while في PHP

من موسوعة حسوب
< PHP

(PHP 4, PHP 5, PHP 7)

تعد حلقات while التكرارية أبسط أنواع الحلقات في PHP، وتعمل بطريقة مماثلة لنظيرتها في لغة C، والصيغة الأساسية لعبارة while هي:

while (expr)
    statement

تؤدي عبارة while وظيفةً بسيطةً، وهي تنفيذ العبارة أو العبارات التي تحتضنها بصورة متكررة ما دامت العبارة الشرطية المرتبطة بحلقة while تؤول إلى TRUE. تتحقّق اللغة من قيمة التعبير في بداية كل دورة، لهذا لن يؤدي تغيير القيمة أثناء عملية التنفيذ إلى إيقاف الدورة بل ستكمل الشيفرة عملها إلى نهاية الدورة (تحتسب الدورة في كل مرّة تنفّذ فيها PHP العبارات ضمن الحلقة التكرارية). في بعض الأحيان، إن كانت نتيجة تعبير while هي FALSE فلن تنفّذ الشيفرة التي تحتضنها هذه العبارة على الإطلاق.

يمكن جمع عدد من العبارات -كما هو الحال مع عبارة if- ضمن حلقة while واحدة وذلك بإحاطة مجموعة العبارات بالأقواس المعقوفة، أو باستخدام الصيغة البديلة:

while (expr):
    statement
    ...
endwhile;

الأمثلة التالية متطابقة، وستطبع سلسلة الأعداد 1 إلى 10. (لاحظ أنّ القيمة المطبوعة في المثال الأول هي قيمة المتغير ‎$i قبل الزيادة [الزيادة اللاحقة]).

<?php
/* المثال 1 */

$i = 1;
while ($i <= 10) {
    echo $i++; 

/* المثال 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>

مصادر