آموزش رایگان PHP

آموزش جامع حلقه‌های while و do while در PHP به زبان ساده و کاربردی

1405/04/04 00:17 محراب حسن زاده
آموزش جامع حلقه‌های 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 استفاده کنید.


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش جامع و کاربردی کار با فایل‌ها در PHP
1405/05/04 23:14

آموزش جامع و کاربردی کار با فایل‌ها در PHP

مطالعه بیشتر
آموزش جامع ساخت پنل مدیریت ساده و استاندارد با PHP
1405/05/14 22:19

آموزش جامع ساخت پنل مدیریت ساده و استاندارد با PHP

مطالعه بیشتر
ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع
1403/08/11 20:59

ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع

مطالعه بیشتر
آموزش Prepared Statement در PHP: امن‌سازی دیتابیس در برابر SQL Injection
1405/05/13 21:17

آموزش Prepared Statement در PHP: امن‌سازی دیتابیس در برابر SQL Injection

مطالعه بیشتر
استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها
1403/07/29 20:46

استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها

مطالعه بیشتر
آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع
1403/07/28 21:41

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

مطالعه بیشتر
آموزش جامع اعتبارسنجی اطلاعات فرم در PHP طبق استانداردهای امنیتی گوگل
1405/04/27 22:17

آموزش جامع اعتبارسنجی اطلاعات فرم در PHP طبق استانداردهای امنیتی گوگل

مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها
1402/06/05 00:13

آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها

مطالعه بیشتر
آموزش ساخت افکت تصویر با تم اینستاگرام و انیمیشن چرخش دوره‌ای در CSS
1405/03/13 01:45

آموزش ساخت افکت تصویر با تم اینستاگرام و انیمیشن چرخش دوره‌ای در CSS

مطالعه بیشتر
آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها
1403/08/04 19:28

آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها

مطالعه بیشتر
آموزش جامع و گام‌به‌گام حلقه for در PHP + مثال‌های کاربردی
1405/04/04 00:11

آموزش جامع و گام‌به‌گام حلقه for در PHP + مثال‌های کاربردی

مطالعه بیشتر
مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها
1403/07/29 20:37

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد