جلسه ۲۳: حلقه while درphp

در این بخش با استفاده از مثال هایی مبنی بر نحوه اجرا و استفاده از حلقه، به معرفی حلقه های while
در PHP
می پردازیم. سرفصل مباحث این جلسه به شرح زیر می باشد:
- حلقه while چیست؟
- مثال
- توضیحات
- حلقه بی نهایت
حلقه while چیست؟
حلقه while
در واقع تنها دستور تکرار ضروری است چرا که حتی حلقه for
(که در بخش های بعدی در مورد آن صحبت خواهیم کرد) را نیز می توان با استفاده از حلقه while
و چند بخش کنترلی دیگر بازسازی کرد. بنابراین، حلقه while اساسا تشکیل شده از یک شرط است و تا زمانی که آن شرط درست باشد، مجموعه ای از دستورات مکررا تکرار خواهند شد. سینتکس این دستور به شکل زیر است: در اینجا هم { و } نشان دهنده بدنه حلقه هستند که در آنها چند جمله کد قرار گرفته و به عنوان بخشی از حلقه تکرار، اجرا می شود.
مثال
در تصویر زیر نگاهی به کد حلقه while
می اندازیم:
<?php
$x = 4;
$y = 0;
while ($y <= 10)
{ // the while loop will run till y<=10 condition is being met
$y += $x;
$x += 1;
} //the loop will iterate 3 times
echo "the value of x is: $x\n";
echo "the value of y is: $y\n";
?>
توضیحات
برای درک بهتر کد بالا، به تصویر زیر توجه کنید:
حلقه بی نهایت
اگر حلقه while
به شکل زیر باشد:
<?php
while ( $y <= 10 ) { //since y is not being changed inside the while loop you will get stuck
$x += 1; // in an infinte loop as the condiiton will always be met
}
$y += $x;
?>
در این صورت به مشکل بر می خوریم. با توجه به کد نوشته شده، با اینکه در خط بعد از حلقه while
، افزایش مقدار داشتیم ولی تنها خط اول مربوط به حلقه while
است. این مشکل بزرگی است چرا که متغیر مورد استفاده در شرط حلقه (x) تغییری نمی کند. بنابراین جواب شرط همواره صحیح است و این قضیه باعث ایجاد حلقه بی نهایت می شود. برای حل این مشکل کافیست که جمله دوم را هم در بدنه حلقه بیاوریم ( یعنی بین { و }). در بخش های بعدی درس، اطلاعات بیشتری در مورد حلقه های بی نهایت کسب خواهید کرد. در بخش بعدی در مورد تغییری جزئی روی حلقه while
که آن را تبدیل به do...while
کرده است، صحبت خواهیم کرد.