הוראת 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 רק מדלג לאיטרציה הבאה.
אתגר
קלקראו שתי שורות קלט:
- רשימת מספרים שלמים המופרדים בפסיקים (למשל,
3,7,12,5,8,20,15) - מספר מחלק
השתמשו בלולאת 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
// הדפיסו את כל שאר המספרים, כל אחד בשורה נפרדת
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואהשוויון וזהותאופרטורים לוגיים — חלק 1אופרטורים לוגיים — חלק 2סיכום — לוגיקה פשוטה2משתנים וסוגי נתונים
מספריםמחרוזות ומירכאותערכים בוליאנייםכללי מתן שמותסיכום – אתחול משתניםמשתנים ריקיםשרשור מחרוזותקבלת קלט מהמשתמשהמרה לסוגים שונים3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקההשמה משולבתהגדלה והקטנהקדימות אופרטוריםסיכום — חישובים פשוטיםאופרטורים למחרוזותתרגלו בעצמכם: קומפיילר PHP אונליין