آموزش رایگان 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 استفاده کنید.


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش جامع رمزنگاری پسورد با password_hash در PHP بر اساس استاندارد گوگل
1405/05/14 22:07

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

مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی
1403/07/30 20:59

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مطالعه بیشتر
آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل
1403/08/05 20:24

آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل

مطالعه بیشتر
تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور
1404/09/21 23:58

تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور

مطالعه بیشتر
آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی
1403/08/05 20:43

آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش جامع مدیریت خطاها در PHP بر اساس استانداردهای گوگل
1405/05/01 20:23

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

مطالعه بیشتر
آموزش ترانزیشن‌ها و انیمیشن‌های نرم با CSS: ایجاد افکت‌های پویا و واکنش‌گرا
1402/06/10 18:14

آموزش ترانزیشن‌ها و انیمیشن‌های نرم با CSS: ایجاد افکت‌های پویا و واکنش‌گرا

مطالعه بیشتر
آموزش کامل توابع در PHP: از مقدماتی تا پیشرفته با استانداردهای گوگل
1405/04/16 01:02

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

مطالعه بیشتر
آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
1403/08/02 21:21

آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش طراحی و استایل‌دهی فرم‌ها با CSS: ایجاد فرم‌های کاربرپسند و واکنش‌گرا
1402/06/18 22:34

آموزش طراحی و استایل‌دهی فرم‌ها با CSS: ایجاد فرم‌های کاربرپسند و واکنش‌گرا

مطالعه بیشتر
آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
1403/08/05 20:55

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

مطالعه بیشتر
مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها
1403/07/29 20:25

مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مطالعه بیشتر

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