این دو دستور تو php آرگومان میگیرن. مثلا میتونیم بنویسیم break 1
یا continue 2
. چیکار میکنن؟ این تیکه کد رو ببینیم.
<?php
foreach (range(1,4) as $i) {
foreach (range(1,4) as $j) {
if ($i == 2) continue 2;
if ($j == 3) continue;
echo "$i -- $j" . PHP_EOL;
}
}
خب خروجی چطور میشه؟ اینطور
1 -- 1
1 -- 2
1 -- 4
3 -- 1
3 -- 2
3 -- 4
4 -- 1
4 -- 2
4 -- 4
شرط $j == 3
یه شرط معمولیه، پس وقتی حلقه داخلی به سه میرسه چیزی چاپ نمیشه. شرط بالایی که $i == 2
هست، continue 2
رو اجرا میکنه. این عبارت یعنی نه تنها حلقه فعلی، که حلقه بعدی رو هم continue
میکنه، یعنی حلقه $i
.
یعنی آرگومان continue
تعداد حلقههایی که قراره پرش بشن رو تعیین میکنه.
همچنین continue
بدون آرگومان یعنی همون continue 1
یعنی حلقه فعلی.
تمام این ها در مورد break
و در مورد تمام انواع دیگه حلقه ها هم صدق میکنه. همچنین در مورد switch
هم صدق میکنه، گرچه continue
و break
داخل switch
حدودا یک معنی میدن.