دستور break و countinue در PHP ابزارهایی هستند که برای کنترل جریان اجرای برنامه در حلقهها مورد استفاده قرار میگیرند. دستور break باعث میشود که اجرای یک حلقه بهطور کامل متوقف شود و از آن خارج گردد. این دستور معمولاً زمانی کاربرد دارد که نیاز باشد اجرای حلقه تحت شرایط خاصی متوقف شود، حتی اگر تمامی عبارات آن اجرا نشده باشد. بهعنوان مثال، در مواقعی که هدف یافتن یک مقدار خاص در میان مجموعهای از دادهها باشد و پس از یافتن آن، نیازی به ادامه جستجو نباشد.
مقدمه
از سوی دیگر، دستور continue باعث میشود که یک تکرار از حلقه جاری به پایان برسد و کنترل به ابتدای حلقه برگردد تا تکرار بعدی شروع شود. این دستور معمولاً زمانی استفاده میشود که بخواهید یک یا چند مرحله از اجرای حلقه را نادیده بگیرید و فقط بقیه مراحل را اجرا کنید. بهعنوان مثال، اگر در یک حلقه بهدنبال پردازش تمامی موارد یک مجموعه باشید، اما بخواهید برخی از شرایط خاص را نادیده بگیرید، میتوانید از دستور continue برای عبور از آن شرایط استفاده کنید. در این آموزش، خواهید آموخت که چگونه از دستور break و countinue در PHP برای پایان دادن و رد کردن اجرای حلقههای for، dowhile، while و همچنین دستور switch استفاده کنید.
دستور break در PHP
دستور break اجرای دستورهای for، do while، while یا دستور switch را متوقف میکند. این آموزش بر نحوه استفاده از break در حلقهها تمرکز دارد.
معمولاً از دستور break همراه با دستور if استفاده میشود تا شرایط پایان یافتن حلقه مشخص شود.
دستور break میتواند یک مقدار عددی اختیاری بپذیرد که مشخص میکند از چندین سطح تو در تو خارج شود.
اگر این مقدار مشخص نشود، مقدار پیشفرض آن ۱ است، به این معنا که تنها از نزدیکترین ساختار محصورکننده خارج میشود.
استفاده از دستور break در حلقه for
مثال زیر نشان میدهد که چگونه میتوان از دستور break در یک حلقه for استفاده کرد:
<?php for ($i = 0; $i < 10; $i++) { if ($i === 5) { break; } echo "$i\n"; }
خروجی:
۰ ۱ ۲ ۳ ۴
دستور for ده بار از مقدار ۰ تا ۹ اجرا میشود. با این حال، هنگامی که متغیر i$ به مقدار ۵ میرسد، دستور break بلافاصله حلقه را متوقف میکند. در این حالت، کنترل برنامه به اولین دستور بعد از دستور for منتقل میشود.
استفاده از دستور break در حلقه do while
مثال زیر نشان میدهد که چگونه میتوان از دستور break درون یک دستور do while استفاده کرد:
<?php $j = 0; do { if ($j === 5) { break; } echo "$j\n"; $j++; } while ($j <= 10);
خروجی:
۰ ۱ ۲ ۳ ۴
در این مثال، حلقه do while تنها پنج بار اجرا میشود. متغیر j$ در هر تکرار یک واحد افزایش مییابد. هنگامی که مقدار j$ به ۵ میرسد، دستور break بلافاصله حلقه را متوقف میکند.
استفاده از دستور break در حلقه while
مثال زیر نشان میدهد که چگونه میتوان از دستور break در یک حلقه while استفاده کرد:
$k = 0; while ($k <= 10) { if ($k === 5) { break; } echo "$k\n"; $k++; }
خروجی:
۰ ۱ ۲ ۳ ۴
این مثال نیز پنج عدد از ۰ تا ۴ را نمایش میدهد. در هر تکرار، متغیر k$ یک واحد افزایش مییابد. هنگامی که مقدار k$ به ۵ میرسد، دستور break بلافاصله حلقه را متوقف میکند.
استفاده از دستور break برای خروج از یک حلقه تودرتو
مثال زیر نشان میدهد که چگونه میتوان از دستور break برای خروج از یک حلقه تودرتو استفاده کرد:
$i = 0; $j = 0; for ($i = 0; $i < 5; $i++) { for ($j = 0; $j < 3; $j++) { if ($i === 3) { break 2; } echo "($i, $j)\n"; } }
خروجی:
(۰, ۰) (۰, ۱) (۰, ۲) (۱, ۰) (۱, ۱) (۱, ۲) (۲, ۰) (۲, ۱) (۲, ۲)
در این مثال، هنگامی که مقدار متغیر i$ به ۳ میرسد، دستور break بلافاصله هر دو حلقه داخلی و خارجی را متوقف میکند.
بهطور پیشفرض، دستور break تنها حلقه محصورکننده خود را پایان میدهد. اما در این مثال، مقدار ۲ را به break اختصاص دادهایم؛ بنابراین، هم حلقه داخلی و هم حلقه خارجی متوقف میشوند.
اگر مقدار ۲ را از دستور break حذف کنید، خروجی متفاوتی مشاهده خواهید کرد.
<?php $i = 0; $j = 0; for ($i = 0; $i < 5; $i++) { for ($j = 0; $j < 3; $j++) { if ($i === 3) { break; } echo "($i, $j)\n"; } }
خروجی:
(۰, ۰) (۰, ۱) (۰, ۲) (۱, ۰) (۱, ۱) (۱, ۲) (۲, ۰) (۲, ۱) (۲, ۲) (۴, ۰) (۴, ۱) (۴, ۲)
در این مثال، دستور break حلقه داخلی را هنگامی که مقدار i$ برابر با ۳ میشود، متوقف میکند.
دستور continue در PHP
دستور continue در ساختارهای حلقه مانند for، do while و while استفاده میشود. این دستور باعث میشود که بلافاصله از اجرای دستورات باقیمانده در تکرار جاری صرفنظر شده و اجرای حلقه از ابتدای تکرار بعدی ادامه یابد. مانند دستور break، دستور continue نیز میتواند یک مقدار عددی اختیاری بپذیرد که مشخص میکند چند سطح از حلقههای محصورکننده باید نادیده گرفته شوند.
اگر عددی پس از continue مشخص نشود، مقدار پیشفرض آن ۱ خواهد بود. در این حالت، تنها ادامه اجرای تکرار جاری متوقف شده و اجرای حلقه از ابتدای تکرار بعدی ادامه پیدا میکند. معمولاً از دستور continue همراه با دستور if استفاده میشود تا شرطی برای رد کردن تکرار جاری مشخص شود.
مثال دستور continue در PHP
مثال زیر نشان میدهد که چگونه میتوان از دستور continue درون یک حلقه for استفاده کرد:
<?php for ($i = 0; $i < 10; $i++) { if ($i % 2 === 0) { continue; } echo "$i\n"; }
خروجی:
۱ ۳ ۵ ۷ ۹
نحوه عملکرد
- اولاً، از یک حلقه for برای تکرار از ۰ تا ۹ استفاده میشود.
- ثانیاً، اگر i$ یک عدد زوج باشد، دستور echo جاری نادیده گرفته میشود. i$ زمانی عدد زوج است که i % ۲$ برابر با ۰ باشد. در نتیجه، تنها اعداد فرد در خروجی نمایش داده میشوند.
نتیجه گیری
دستور break و countinue در PHP ابزارهای مفیدی برای کنترل جریان اجرای حلقهها هستند. دستور break به شما این امکان را میدهد که بهطور کامل از یک حلقه خارج شوید، در حالی که دستور continue به شما کمک میکند تا یک تکرار از حلقه را نادیده بگیرید و به تکرار بعدی منتقل شوید. استفاده صحیح از این دستورات میتواند موجب بهینهسازی و سادهتر شدن کدنویسی در شرایط خاص و پیچیده گردد، بهویژه زمانی که نیاز به مدیریت دقیقتر فرآیندهای تکراری وجود داشته باشد.