حلقه Do….while یک بار عبارت را اجرا می کند و سپس شرط را بررسی می کند.
سینتکس
do
{
code to be executed;
}
while (condition);
مثال
<?php
$i=1;
do
{
echo “The number is ” . $i . “<br>”;
$i++;
}
while ($i<=5);
?>
خروجی کد بالا به صورت زیر خواهد شد:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
در مثال بالا؛ متغیر i$ مقدار “۱” را اتخاذ می کند. ابتدا عبارتی که در داخل do نوشته شده است؛ امضا می شود. سپس شرطی که بعد از while می آید
($i<=5)
بررسی می کند. بنابراین عبارت داده شده ۵ بار را اجرا می کند.
برنامه ای می نویسیم که جدولی از اعداد داده شده را نمایش بدهد:
<?php
@$tab=$_GET[‘tab’];
$i=1;
do
{
$t=$tab*$i;
echo $t.” “;
$i++;
}
while ($i<=10);
?>
<body>
<form>
Enter Your table<input type=”text” name=”tab”><br/>
<input type=”submit” value=”Table”>
</form>
</body>
خروجی کد نویسی بالا به صورت زیر است:
خروجی
در مثال بالا، یک باکس متنی را ایجاد کرده ایم و نیز یک دکمه با استفاده از اسکریپت HTML ساخته ایم. منطق درون اسکریپت پی اچ پی ایجاد شده است.
ابتدا، مقداری که توسط کاربر وارد می شود را با استفاده از:
$_GET
دریافت می کنیم. برای چاپ جدول ۱۰ متغیر i$ مقدار ۱= را اتخاذ می کند. این شرط:
($t=$tab*$i)
مقدار وارد شده را در مقدار x$ (مقدار اولیه) ضرب می کند که بعد از هر تکرار افزایش می یابد. تمامی مراحل درحالی که شرط:
($i<=10)
را بررسی می کند؛ انجام می شود. بنابراین؛ حلقه ( )while عبارتی را ۱۰ بار اجرا می کند.
حلقه Do While تو در تو
برنامه ای بنویسید که در یک زمان مشخص؛ بیشتر از یک جدول را نمایش بدهد.
<?php
$n=1;
$i=0;
$t=0;
do
{
do
{
$i++;
$t=$i*$n;
echo $t;
while($i<=10)
}
$i=0;
$n++;
while ($n<=10);
}
?>
در مثال بالا، بیشتر از یک جدول نمایش داده می شود. زیرا حلقه do while استفاده شده است.
سه متغیر n$ بیان شده است که مقدار ۱ را اتخاذ می کند. i$ مقدار صفر را اتخاذ می کند. t$ مقدار ۰ را اتخاذ می کند.