یکی از پایه ای ترین مفاهیمی که برای اجرای دستورات تکراری استفاده میشود، حلقه یا Loop است. زبان PHP نیز مانند سایر زبان های برنامه نویسی از انواع مختلفی از حلقه ها پشتیبانی میکند که یکی از مهم ترین آنها حلقه while در PHP است. این مقاله بخشی از سری آموزش‌های PHP است که به بررسی دقیق ساختارها و مفاهیم پایه در برنامه‌نویسی PHP می‌پردازد. در این بخش، با حلقه while در PHP آشنا می‌شوید، نحوه عملکرد آن را یاد می‌گیرید و با مثال‌های کاربردی، استفاده صحیح از این حلقه را در پروژه‌های واقعی تمرین می‌کنید.

حلقه while در PHP

حلقه while در PHP نوعی ساختار کنترلی است که تا زمانی که یک شرط مشخص «صحیح (true)» باشد، یک بلوک از کد را بارها و بارها اجرا می‌کند. به این صورت که ابتدا شرط داخل پرانتز بررسی می‌شود. اگر این شرط true (صحیح) باشد، کدهای داخل بلوک حلقه اجرا می‌شوند. سپس دوباره شرط بررسی می‌شود و این فرآیند تا زمانی که شرط نادرست شود ادامه می‌یابد. اگر شرط از ابتدا نادرست باشد، حلقه حتی یک بار هم اجرا نمی‌شود. این ویژگی باعث می‌شود که حلقه while کاملاً شرط‌محور باشد و اجرای آن به وضعیت یک متغیر یا نتیجه یک تابع بستگی داشته باشد.

ساختار کلی حلقه while:

while (شرط) {
// کدهایی که باید تکرار شوند
}

تا زمانی که شرط داخل پرانتز درست باشد، کدهای داخل بلوک حلقه اجرا می‌شوند. اگر از ابتدا شرط نادرست باشد، حتی یک‌بار هم کد داخل حلقه اجرا نمی‌شود.

مثال ساده

$i = 1;
while ($i <= 5) {
    echo "عدد: $i <br>";
    $i++;
}

خروجی:

عدد: 1
عدد: 2
عدد: 3
عدد: 4
عدد: 5

متغیر i$ از عدد ۱ شروع می‌شود. تا زمانی که مقدار آن کمتر یا مساوی ۵ باشد، حلقه اجرا می‌شود. در پایان هر تکرار، با i$++ یک واحد به آن اضافه می‌شود.

کاربردهای رایج حلقه while در PHP

حلقه while در PHP زمانی کاربرد دارد که بخواهیم یک قطعه کد را تا زمانی که یک شرط خاص برقرار است، به صورت تکراری اجرا کنیم. این حلقه برای شرایطی که تعداد دفعات تکرار از قبل مشخص نیست، بسیار مناسب است؛ مانند خواندن داده‌ها از پایگاه داده تا زمانی که رکوردی برای پردازش باقی مانده باشد، یا دریافت ورودی از کاربر تا زمانی که مقدار مورد نظر وارد شود. همچنین در مواردی مانند بررسی وضعیت یک اتصال، انتظار برای رویداد خاص، یا ساختارهای کنترلی پویا در اسکریپت‌ها، حلقه while انتخابی مناسب و انعطاف‌پذیر به حساب می‌آید.

کاربردهای حلقه while در PHP

در ادامه مقاله، هر یک از کاربردهای حلقه while را به‌همراه مثال‌های عملی مورد بررسی و توضیح قرار داده‌ایم.

۱. پیمایش آرایه‌ها (با کمک شمارنده)

$fruits = ["سیب", "موز", "هندوانه"];
$i = 0;
while ($i < count($fruits)) {
echo $fruits[$i] . "<br>";
$i++;
}

۲. خواندن اطلاعات از پایگاه داده (با MySQL)

$result = mysqli_query($conn, "SELECT * FROM users");
while ($row = mysqli_fetch_assoc($result)) {
echo "نام: " . $row['name'] . "<br>";
}

۳. دریافت ورودی کاربر تا زمانی که شرایطی برقرار باشد

$handle = fopen("php://stdin", "r");
$input = "";
while ($input != "exit") {
echo "یک چیزی تایپ کنید (برای خروج بنویسید exit): ";
$input = trim(fgets($handle));
}

4.تکرار نامشخص بر اساس شرط

$sum = 0;
$input = (int)readline("یک عدد وارد کنید (برای خروج 0 را وارد کنید): ");
while ($input != 0) {
$sum += $input;
$input = (int)readline("یک عدد دیگر وارد کنید (برای خروج 0 را وارد کنید): ");
}

echo "مجموع اعداد وارد شده: $sum";

حلقه do…while

حلقه do … while در PHP یکی از ساختارهای مهم برای اجرای کدهای تکراری است، با این تفاوت که برخلاف سایر حلقه‌ها، ابتدا کد اجرا می‌شود و بعد شرط بررسی می‌گردد. این یعنی حتی اگر شرط از همان ابتدا غلط باشد، دستورات داخل حلقه حداقل یک بار اجرا خواهند شد.
این ویژگی باعث می‌شود do…while در شرایطی کاربرد داشته باشد که نیاز داریم یکبار خروجی یا عملیات انجام شود، سپس تصمیم بگیریم که آیا باید ادامه یابد یا خیر.

نحوه نوشتن حلقه do…while در PHP

do {
// دستورات اجراشونده
} while (شرط);

مثال کاربردی:

<?php
$i = 1;

do {
echo "سلام! <br>";
$i++;
} while ($i <= 1);
?>

ابتدا متغیر i$ برابر 1 قرار می‌گیرد.
حلقه do…while یک‌بار متن «سلام!» را چاپ می‌کند.
سپس شرط بررسی می‌شود: آیا i$ کوچکتر یا مساوی 1 است؟
چون i$ درون حلقه یکی زیاد شده و برابر ۲ شده، شرط نادرست است و حلقه متوقف می‌شود.

تفاوت while با do…while

ممکن است بپرسید: «فرق while با do…while چیست؟»

در while ابتدا شرط بررسی می‌شود، سپس کد اجرا می‌شود.
در do…while ابتدا کد اجرا می‌شود، بعد شرط بررسی می‌شود.

مثال:


$i = 6;
while ($i <= 5) {
echo "while: $i <br>";
$i++;
}
// خروجی ندارد چون شرط از ابتدا برقرار نیست

$i = 6;
do {
echo "do...while: $i <br>";
$i++;
} while ($i <= 5);
// خروجی: do...while: 6

نکات مهم در استفاده از while

✔ می‌توان از این حلقه برای خواندن فایل‌ها سطر به سطر استفاده کرد.
✔ در موارد خاص، می‌توان از break برای خروج اجباری از حلقه استفاده کرد.
✔ اگر شرط حلقه هیچ‌وقت نادرست نشود، برنامه وارد یک حلقه بی‌پایان می‌شود و ممکن است سیستم را دچار مشکل کند.
✔ استفاده درست از شرط و گام افزایش
✔ می‌توان چند شرط ترکیبی در while قرار داد.

چه زمانی از حلقه while استفاده کنیم؟

✅ این حلقه در PHP انتخاب مناسبی است زمانی که:
✅ نمی‌دانیم دقیقاً چند بار قرار است کد تکرار شود.
✅ تکرار تا زمانی ادامه دارد که یک شرط برقرار است.
✅ در حال خواندن داده‌ها از منابع خارجی (فایل، پایگاه داده، ورودی کاربر) هستیم.

نتیجه گیری

در این مقاله با ساختار و کاربرد حلقه while در PHP آشنا شدیم و دیدیم که چگونه می‌توان با استفاده از آن، عملیات تکراری را به شکلی ساده و خوانا در برنامه اجرا کرد. این حلقه یکی از پایه‌ای‌ترین ابزارها در برنامه‌نویسی است که یادگیری درست آن نقش مهمی در افزایش مهارت کدنویسی دارد. چه در پروژه‌های کوچک و چه در سیستم‌های پیچیده، استفاده درست از حلقه while می‌تواند باعث ساده‌سازی منطق برنامه و افزایش بهره‌وری شود.

برای مطالعه و مشاهده مثال‌های بیشتر از حلقه while در PHP، می‌توانید به مستندات W3Schools درباره while loop در PHP مراجعه کنید.

اگر درباره‌ی حلقه while در PHP سوالی دارید یا تجربه‌ای از استفاده‌ی آن دارید، خوشحال می‌شویم نظرت را در بخش دیدگاه‌ها با ما به اشتراک بگذارید!