حلقه‌ها در PHP (بخش اول)

اغلب اوقات در نوشتن کدها نیاز است که چند دسته از کدها را بارها و بار ها اجرا کرد. برای اجرای این دستورها دیگر لازم نیست که چند خط کد در هر مرحله به دستورهای PHP اضافه کنید تنها کافی است از دستورهای حلقه استفاده کنید.

انواع حلقه‌ها در PHP  به صورت زیر تعریف شده است:

  •  while حلقه  تا زمانی که شرط درست باشد تکرار می‌کند.
  • do…while ابتدا حلقه do  اجرا می‌شود و سپس شرط while بررسی می‌شود.
  • for حلقه را در تعداد دفعات خاص بررسی می‌کند.
  • foreach حلقه ای برای هر عنصر در آرایه.

حلقه while در PHP

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

در ادامه یک مثال مشاهده خواهید کرد. در این مثال متغیر x$ برابر است با ۱ و شرط تا زمانی که x کوچکتر و یا مساوی ۵ باشد می‌شود. به مقدار x در هر دور یک واحد اضافه می‌شود (; ++x).

خروجی این دستور به صورت زیر نمایش داده می‌شود.

The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5

حلقه do…while در PHP

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

همان طور که مشاهده می‌کنید ابتدا کد ها در بخش do اجرا می‌شوند و سپس شرط while بررسی می‌شود. در این راستا یک مثال داشته باشیم.

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

The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5

8 نظرات شما

  • Mohammad

    اردیبهشت ۱۴, ۱۳۹۳ at ۱۲:۱۶ ب.ظ
    چه مواقعی از حلقه do while استفاده میشه ؟؟ میشه یه مثال بزنید؟ مرسی
    • بهاران بنی اسدی

      خرداد ۲۶, ۱۳۹۳ at ۶:۲۲ ب.ظ
      وقتیکه نمیدونیم دقیقا این حلقه چند بار باید تکرار بشه! اگر بدونیم که چند بار این عمل انجام میشه از لازم نیست. مثلا میگیم که یک رادیو صدا رو پخش کنه تا زمانیکه کاربر دکمه توقف رو بزنه یا زمان حضور کاربر در سایت رو محاسبه کنه تا زمانیکه خارج میشه. این حلقه ها معمولا با یک شرط تموم میشن نه یک تعداد تکرار مشخص
    • محمّدرضا

      آبان ۱۶, ۱۳۹۳ at ۲:۱۸ ب.ظ
      جواب درست بود ولی برای while for برای تعداد تکرار مشخص while برای تعداد نامشخص do while هم همینطور برای تعداد نامشخص با این تفاوت که در while اول شرط بررسی می شود بعد دستورات اجرا می شود ولی در do while اول یکبار دستورات اجرا می شود و اثر خود را میگذارند بعد شرط بررسی می شود با تشکر فراوان از سایت فوق العادتون مطالب خیلی عالی به اشتراک گذاشتید ممنونم
    • محمّدرضا

      آبان ۱۶, ۱۳۹۳ at ۲:۲۱ ب.ظ
      جواب درست بود ولی برای while درصورتی که for برای تعداد تکرار مشخص while برای تعداد نامشخص do while هم همینطور برای تعداد نامشخص با این تفاوت که در while اول شرط بررسی می شود بعد دستورات اجرا می شود ولی در do while اول یکبار دستورات اجرا می شود و اثر خود را میگذارند بعد شرط بررسی می شود با تشکر فراوان از سایت فوق العادتون مطالب خیلی عالی به اشتراک گذاشتید ممنونم
  • fernando

    بهمن ۵, ۱۳۹۳ at ۲:۳۷ ب.ظ
    مرسی خانم شاد و خوشگل
  • سید صالح

    مرداد ۲, ۱۳۹۴ at ۳:۰۶ ب.ظ
    چطور باید یه دستور رو به تعداد مشخصی تکرار کنیم؟ مثلا بگیم این دستور به تعداد متغیر str$ تکرار بشه ؟؟
    • الهه قنبری

      مرداد ۴, ۱۳۹۴ at ۸:۰۱ ق.ظ
      شما با دستور for که در قسمت حلقه ها در php(بخش دوم)قرار دارد به راحتی می توانید دستور را به تعداد مشخصی تکرار کنید.
  • mohammadjavad

    اسفند ۱, ۱۳۹۴ at ۱۰:۱۵ ق.ظ
    سلام خسته نباشید دیدم همه سوالای جالب میپرسند منم یکی ازاینا بپرسم وقتی دستور for هست چر باید از wihile استفاده بکنیم ؟ چطوری این دستورات قالب اجرا هستند برای کسی که نمیخواد کد هارو ببینه ، باید با چه زبانی ترکیب شند ؟ سایت خوبی دارید از خدمات بسیار حرقه ای شما واقعا متشکرم :-)

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


© 2013 Mobtadi. All rights reserved.
کلیه حقوق مادی و معنوی برای وبسایت مبتدی محفوظ است.