تفاوت با break

تفاوت بین دستورات break و continue در PHP

در برنامه‌نویسی PHP، دو دستور مهم کنترل حلقه‌ها وجود دارند که اغلب باعث سردرگمی توسعه‌دهندگان می‌شوند: break و continue. این دو اگرچه شباهت‌هایی دارند، اما عملکرد کاملاً متفاوتی در حلقه‌ها ایجاد می‌کنند.


عملکرد دستور break

دستور break به طور کامل حلقه جاری را متوقف می‌کند و اجرای برنامه از اولین خط بعد از حلقه ادامه می‌یابد. این دستور معمولاً در شرایط خاصی استفاده می‌شود که نیاز داریم حلقه را پیش از پایان طبیعی آن ترک کنیم.

  • خروج کامل از حلقه (for, while, do-while, foreach)
  • استفاده در ساختار switch برای جلوگیری از fall-through
  • قابلیت تعیین سطح خروج در حلقه‌های تو در تو با break 2, break 3 و ...
مثال خروجی
for($i=1; $i<=5; $i++) {
  if($i == 3) break;
  echo $i;
}
12

عملکرد دستور continue

برخلاف break، دستور continue فقط تکرار جاری حلقه را متوقف می‌کند و حلقه با تکرار بعدی ادامه می‌یابد. برای درک بهتر این تفاوت، می‌توانید اینجا را مطالعه کنید.

  1. رد شدن از اجرای کدهای باقی‌مانده در تکرار جاری
  2. پرش به شرط حلقه (در while/do-while) یا به روزرسانی شمارنده (در for)
  3. کاربرد در فیلتر کردن مقادیر خاص در آرایه‌ها
نکته کلیدی: continue مانند "رد شدن" از یک مرحله است، در حالی که break مانند "خروج اضطراری" از کل حلقه عمل می‌کند.
مقایسه break continue
تأثیر بر حلقه خروج کامل پرش به تکرار بعدی
کاربرد معمول شرایط پایان زودرس رد کردن موارد خاص
سطح خروج پشتیبانی از سطح (n) فقط سطح جاری

جایگاه استفاده در حلقه‌های تو در تو

در حلقه‌های چند سطحی، break و continue رفتار متفاوتی دارند. دستور break می‌تواند با مشخص کردن عدد سطح، از چندین حلقه خارج شود:

while(...) {
  foreach(...) {
    if($condition) break 2; // خروج از هر دو حلقه
  }
}

در حالی که continue فقط بر حلقه جاری تأثیر می‌گذارد و نمی‌تواند به حلقه سطح بالاتر پرش کند.