حلقه do while

حلقه do while یکی دیگر از ساختارهای تکرار است. این حلقه بسیار شبیه حلقه while است با این تفاوت که در این حلقه ابتدا کد اجرا می شودو سپس شرط مورد بررسی قرار می گیرد. ساختار حلقه do while به صورت زیر است :

do
{
   code to repeat;

} while (condition);

همانطور که مشاهده می کنید شرط در آخر ساختار قرار دارد. این بدین معنی است که کدهای داخل بدنه حداقل یکبار اجرا می شوند.برخلاف حلقه while که اگر شرط نادرست باشد دستورات داخل بدنه اجرا نمی شوند. به مثال زیر توجه کنید :

  1: <?php
  2: 
  3:     $number = 1;
  4:     do
  5:     {
  6:         echo 'Hello World!' . '<br/>';
  7:         $number ++;
  8:     } 
  9:     while ($number > 10);
 10: 
 11: ?>
Hello World!

همانطور که در کد بالا مشاهده می کنید ابتدا در خط 6 یک بار رشته Hello World چاپ می شود و سپس یک واحد به متغیر number در خط 7 اضافه می شود. در این خط مقدار متغیر number عدد 2 است و سپس عدد 2 در خط 9 با عدد 10 مقایسه می شود و چون از عدد 10 بزرگتر نیست شرط نادرست و حلقه متوقف می شود.در نتیجه حداقل یکبار حلقه اجرا می شود. اما همین مثال در صورتیکه شرط درست باشد نتیجه ای به صورت زیر خواهد داشت :

  1: <?php
  2: 
  3:     $number = 1;
  4:     do
  5:     {
  6:         echo 'Hello World!' . '<br/>';
  7:         $number ++;
  8:     } 
  9:     while ($number < 10);
 10: 
 11: ?>
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!