دستور continue
دستور continue در داخل ساختارهای حلقه استفاده می شود؛ بدین صورت که به ما کمک می کند تا از تکرار حلقه فعلی خارج شویم و اجرای ارزیابی شرط را ادامه دهیم و سپس به ابتدای تکرار بعدی برویم.
توجه داشته باشید که در زبان پی اچ پی یک عبارت switch به عنوان یک ساختار کنترلی برای continue در نظر گرفته می شود.
دستور continue یک ورودی عددی اختیاری دارد که مشخص می کند چند سطح از حلقه ای که در آن قرار دارد باید نادیده گرفته شود. مقدار پیش فرض آن یک (1) است، که برابر است با خارج شده به سمت حلقه فعلی.
<?php while (list($key, $value) = each($arr)) { if (!($key % 2)) { // skip odd members continue; } do_something_odd($value); } $i = 0; while ($i++ < 5) { echo "Outer
\n"; while (1) { echo "Middle
\n"; while (1) { echo "Inner
\n"; continue 3; } echo "This never gets output.
\n"; } echo "Neither does this.
\n"; } ?>
اگر علامت نقطه ویرگول را در انتهای دستور continue قرار ندهید ممکن است دچار سردرگمی شوید. به مثال زیر توجه کنید:
<?php for ($i = 0; $i < 5; ++$i) { if ($i == 2) continue print "$i\n"; } ?>
احتمالا منظور شما از نوشتن قطعه کد بالا رسیدن به نتیجه زیر بوده است:
0
1
3
4
اما در پی اچ پی نسخه های 5.4.0 به پایین، این خروجی را خواهید داشت:
2
به خاطر اینکه تمام عبارت continue print "$i\n" به عنوان یک عبارت ارزیابی می شود و در نتیجه تابع PRINT زمانی فراخوانی می شود که $i==2 باشد.
توجه داشته باشید که در پی اچ پی نسخه 5.4.0 مثال بالا یک خطای E_COMPILE_ERROR بوجود می آورد.