آموزش جامع حلقههای while و do while در PHP به زبان ساده و کاربردی
مقدمهای بر حلقهها در PHP
در برنامهنویسی، مواقع بسیاری پیش میآید که مایلید یک بلوک کد مشخص را چندین بار تکرار کنید. نوشتن تکراری کدها نه تنها خستهکننده است، بلکه فرآیند نگهداری و دیباگ را نیز به شدت سخت میکند. اینجاست که حلقهها (Loops) به کمک شما میآیند. در زبان PHP، حلقهها تا زمانی که یک شرط تعریفشده صحیح (true) باشد، کدها را تکرار میکنند. در این مقاله به سراغ دو حلقه پرکاربرد یعنی while و do-while میرویم.
۱. حلقه while در PHP چیست؟
حلقه while سادهترین نوع حلقه شرطی در PHP است. این حلقه ابتدا شرط ورودی را بررسی میکند؛ اگر شرط درست (true) باشد، دستورات درون بلوک خود را اجرا میکند. این فرآیند بررسی و اجرا تا زمانی که شرط نادرست (false) شود ادامه مییابد.
ساختار نوشتاری (Syntax) حلقه while
while (شرط مورد نظر) {
// کدهایی که باید تکرار شوند
}
مثال عملی از حلقه while
فرض کنید میخواهیم اعداد ۱ تا ۵ را در خروجی چاپ کنیم:
$counter = 1;
while ($counter <= 5) {
echo "شماره: $counter ";
$counter++; // افزایش گام به گام متغیر
}
توضیح کد: در ابتدا مقدار متغیر $counter برابر با ۱ است. شرط حلقه (کوچکتر یا مساوی ۵ بودن) درست است، پس عدد ۱ چاپ شده و مقدار متغیر یک واحد افزایش مییابد. این روند تا چاپ عدد ۵ ادامه پیدا میکند. زمانی که متغیر ۶ میشود، شرط حلقه غلط شده و اجرای حلقه متوقف میگردد.
۲. حلقه do-while در PHP چیست؟
حلقه do-while شباهت زیادی به حلقه while دارد با یک تفاوت حیاتی: این حلقه ابتدا کدها را یکبار اجرا میکند و سپس شرط را بررسی مینماید. این یعنی کدهای درون بلوک do-while تحت هر شرایطی حداقل یک مرتبه اجرا خواهند شد، حتی اگر شرط از همان ابتدا غلط باشد.
ساختار نوشتاری (Syntax) حلقه do-while
do {
// کدهایی که باید تکرار شوند
} while (شرط مورد نظر);
مثال عملی از حلقه do-while
بیایید همان مثال قبلی را با do-while پیادهسازی کنیم:
$counter = 1;
do {
echo "شماره: $counter ";
$counter++;
} while ($counter <= 5);
تفاوت اساسی حلقهی while و do-while در یک نگاه
اصلیترین تفاوت این دو ساختار در زمان بررسی شرط است. برای درک بهتر به کد زیر توجه کنید:
$x = 10;
// در این حلقه هیچ کدی اجرا نمیشود زیرا شرط از ابتدا غلط است
while ($x < 5) {
echo "این متن چاپ نخواهد شد.";
$x++;
}
// این حلقه با وجود غلط بودن شرط، یکبار اجرا میشود
do {
echo "این متن حداقل یکبار چاپ میشود!";
$x++;
} while ($x < 5);
نکته ایمنی: جلوگیری از بروز حلقه بینهایت (Infinite Loop)
یکی از خطاهای رایج در استفاده از حلقهها، ایجاد حلقههای بینهایت است. اگر شما شرطی بنویسید که هرگز غلط نشود، یا فراموش کنید مقدار متغیر شمارنده را تغییر دهید، سرور شما تا ابد مشغول پردازش کدهای تکراری شده و نهایتاً با خطای محدودیت زمان اجرا (Execution Timeout) مواجه خواهید شد. همیشه مطمئن شوید شرط حلقه شما پس از چند تکرار به حالت false تغییر وضعیت میدهد.
جمعبندی
از حلقه while زمانی استفاده کنید که تکرار کد تنها در صورت برقرار بودن شرط الزامی است. اما اگر نیاز دارید کدهای شما حتماً و بدون توجه به برقرار بودن یا نبودن شرط، برای حداقل یک مرتبه اجرا شوند، از ساختار do-while استفاده کنید.
پرسش و پاسخ
نظری یافت نشد
برای ارسال نظر ابتدا وارد شوید