הוראת break
חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 51 מתוך 71.
לפעמים צריך לצאת מלולאה מוקדם, לפני שהיא מסתיימת באופן טבעי. הפקודה break מאפשרת לך לעשות בדיוק את זה. היא עוצרת מיד את הלולאה וממשיכה לקוד שאחריה.
דמיין שאתה מחפש ערך מסוים במערך. לאחר שמצאת אותו, אין טעם לבדוק את שאר האיברים. שימוש ב-break חוסך איטרציות מיותרות.
<?php
$numbers = [3, 7, 2, 9, 5, 1];
foreach ($numbers as $num) {
if ($num === 9) {
echo "Found 9!\n";
break;
}
echo "Checking $num\n";
}
echo "Search complete";
?>הפלט הוא:
Checking 3
Checking 7
Checking 2
Found 9!
Search completeשימו לב ש-5 ו-1 לעולם אינם נבדקים. ברגע שהלולאה נתקלת ב-9, break יוצא מהלולאה לחלוטין, והביצוע קופץ אל "Search complete".
פקודת break פועלת עם כל סוגי הלולאות: for, while ו-foreach. היא שימושית במיוחד כשמחפשים משהו או כשמתקיים תנאי מסוים שמשמעותו שהלולאה צריכה להיעצר מיד.
אתגר
קלקרא שתי שורות קלט:
- רשימת מספרים מופרדת בפסיקים (למשל,
4,8,15,16,23,42) - מספר היעד לחיפוש
השתמש בלולאת foreach כדי לחפש במערך את מספר היעד. כשתמצא אותו, הדפס Found [target] at index [index]! והשתמש ב-break כדי לצאת מהלולאה מיד.
אם הלולאה מסתיימת בלי למצוא את מספר היעד, הדפס [target] not found.
רמז: השתמש בתחביר של מפתח-ערך בלולאת foreach כדי לעקוב אחר האינדקס.
דוגמה 1:
אם הקלט הוא 10,25,30,45,50 ו-30, הפלט צריך להיות:
Found 30 at index 2!דוגמה 2:
אם הקלט הוא 5,10,15,20,25 ו-20, הפלט צריך להיות:
Found 20 at index 3!דוגמה 3:
אם הקלט הוא 1,2,3,4,5 ו-99, הפלט צריך להיות:
99 not foundנסו בעצמכם
<?php
// קראו את הקלט
$numbers = explode(',', trim(fgets(STDIN)));
$target = trim(fgets(STDIN));
// TODO: כתבו את הקוד שלכם למטה
// השתמשו בלולאת foreach בתחביר מפתח-ערך כדי לחפש את target
// כאשר הוא נמצא, הדפיסו "Found [target] at index [index]!" וצאו מהלולאה
// אם הוא לא נמצא לאחר הלולאה, הדפיסו "[target] not found"
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואהשוויון וזהותאופרטורים לוגיים — חלק 1אופרטורים לוגיים — חלק 2סיכום — לוגיקה פשוטה2משתנים וסוגי נתונים
מספריםמחרוזות ומירכאותערכים בוליאנייםכללי מתן שמותסיכום – אתחול משתניםמשתנים ריקיםשרשור מחרוזותקבלת קלט מהמשתמשהמרה לסוגים שונים3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקההשמה משולבתהגדלה והקטנהקדימות אופרטוריםסיכום — חישובים פשוטיםאופרטורים למחרוזותתרגלו בעצמכם: קומפיילר PHP אונליין