Menu
Coddy logo textTech

הוראת continue

חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 52 מתוך 71.

בעוד ש-break יוצאת לחלוטין מלולאה, לפעמים רוצים רק לדלג על האיטרציה הנוכחית ולהמשיך לבאה אחריה. זה בדיוק מה שהפקודה continue עושה.

כאשר PHP נתקלת ב־continue, היא קופצת מיד לאיטרציה הבאה של הלולאה ומדלגת על כל הקוד שנותר באיטרציה הנוכחית.

<?php
for ($i = 1; $i <= 5; $i++) {
    if ($i === 3) {
        continue;
    }
    echo $i . "\n";
}
?>

הפלט הוא:

1
2
4
5

שימו לב ש-3 חסר. כאשר $i שווה ל-3, הפקודה continue מדלגת על echo ועוברת ישירות לאיטרציה הבאה, שבה $i הופך ל-4.

מקרה שימוש נפוץ הוא סינון ערכים לא רצויים במהלך עיבוד מערך:

<?php
$numbers = [10, -5, 8, -3, 12];

foreach ($numbers as $num) {
    if ($num < 0) {
        continue;
    }
    echo $num . "\n";
}
?>

הדבר מדפיס רק את המספרים החיוביים: 10, 8 ו-12. על הערכים השליליים מדלגים, אבל הלולאה ממשיכה לעבור על כל האיברים.

ההבדל העיקרי: break עוצר את הלולאה לחלוטין, ואילו continue רק מדלג לאיטרציה הבאה.

challenge icon

אתגר

קל

קראו שתי שורות קלט:

  1. רשימת מספרים שלמים המופרדים בפסיקים (למשל, 3,7,12,5,8,20,15)
  2. מספר מחלק

השתמשו בלולאת foreach כדי לעבור על המערך. השתמשו ב־continue כדי לדלג על מספרים שמתחלקים במחלק הנתון. הדפיסו את כל שאר המספרים, כל אחד בשורה נפרדת.

דוגמה 1:

אם הקלט הוא 1,2,3,4,5,6,7,8,9,10 ו־3, הפלט צריך להיות:

1
2
4
5
7
8
10

(המספרים 3, 6 ו־9 מדולגים כי הם מתחלקים ב־3)

דוגמה 2:

אם הקלט הוא 10,15,20,25,30 ו־5, הפלט צריך להיות:

(כל המספרים מתחלקים ב־5, לכן לא יודפס דבר)

דוגמה 3:

אם הקלט הוא 7,14,21,10,5 ו־7, הפלט צריך להיות:

10
5

נסו בעצמכם

<?php
// קראו את הקלט
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));

// המירו מחרוזת המופרדת בפסיקים למערך של מספרים שלמים
$numbers = array_map('intval', explode(',', $input));

// TODO: כתבו את הקוד שלכם למטה
// השתמשו בלולאת foreach כדי לעבור על $numbers
// השתמשו ב-continue כדי לדלג על מספרים שמתחלקים ב-$divisor
// הדפיסו את כל שאר המספרים, כל אחד בשורה נפרדת

?>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר PHP אונליין