آشنایی با دستور continue در php
گاهی اوقات نیاز می شود تکرار در حلقه را در یک نقطه خاص تمام کنیم تا تکرار بعدی حلقه اجرا شود.
در واقع continue مانند دستور break رفتار می کند با این تفاوت که دستور continue فقط به تکرار جاری خاتمه می دهد ولی دستور break به کل حلقه.
مثال:
foreach ($arr as $key => $value): if (!($key % 2)) continue; //statement endforeach;
دستور continue برای پایان دادن به تکرار حلقه های تو در تو
دستور coninue دقیقا مشابه دستور break می تواند آرگومان بگیرد. این آرگومان نشان دهنده این است که ادامه ی حلقه از کجا شروع شود.
اگر مقدار آن برابر 1 باشد، ابتدای حلقه ی جاری شروع می شود، اگر برابر 2 باشد ابتدای حلقه ی والد حلقه ی جاری و … .
$i = 0; while ($i++ < 3) { echo 1; while (1) { echo 2; while (1) { echo 3; continue 3; } echo -1; } echo 0; } //output: 123123123
دستور continue در حلقه for
در حلقه for می توانیم تحت شرط درونی، یک تکرار را تمام کنیم تا تکرار بعدی آغاز شود:
for ($i =1; $i <= 3; $i++) { for ($j=1; $j <= 3; $j++) { if (!($i == $j) ) continue; echo $i.$j; } }
در دستور بالا گفتیم که اگر در حلقه درونی for، مقدار شمارنده با شمارنده حلقه بیرونی for برابر بود، تکرار جاری حلقه خاتمه یابد.
دستور continue در حلقه while و do-while
در حلقه while و do-while نیز می توانیم ادامه دستورات یک تکرار را متوقف کنیم:
$i = 1; while ($i <= 10) { if ($i % 2 == 1) { $i++; continue; } echo $i++; }
دستور continue در حلقه foreach
با دستور continue می توانیم از بعضی از المان های آرایه عبور کنیم. کاری که دستور break نمی توانست انجام دهد.
$number = array (1, 2, 3, 4, 5); foreach ($number as $element) { if ($element == 4) { continue; } echo $element; } //output: 1235
عالی بود