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

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

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


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب
29م مرداد 1402

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب

مطالعه بیشتر
Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها
30م مهر 1403

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

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

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

مطالعه بیشتر
آموزش کامل دستور switch-case در PHP (به همراه مثال‌های کاربردی)
4م تیر 1405

آموزش کامل دستور switch-case در PHP (به همراه مثال‌های کاربردی)

مطالعه بیشتر
راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا
18م مرداد 1402

راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا

مطالعه بیشتر
استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی
11م آبان 1403

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

مطالعه بیشتر
آموزش توسعه و مدیریت پروژه‌های بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریم‌ورک‌های کاربردی
4م آبان 1403

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

مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها
30م مهر 1403

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

مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
11م آبان 1403

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

مطالعه بیشتر
استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی
11م آبان 1403

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

مطالعه بیشتر
استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل
16م آبان 1403

استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل

مطالعه بیشتر
مدیریت فرم‌ها و ورودی‌ها در Vue.js | آموزش Form Handling با مثال کاربردی
22م آذر 1404

مدیریت فرم‌ها و ورودی‌ها در Vue.js | آموزش Form Handling با مثال کاربردی

مطالعه بیشتر

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