Menu
Coddy logo textTech

פקודת switch

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

כשצריך להשוות משתנה יחיד לערכים ספציפיים רבים, משפט switch מציע חלופה נקייה יותר לשרשראות ארוכות של if-elseif.

הצהרת switch בודקת משתנה פעם אחת ואז משווה אותו לערכים שונים של case:

<?php
$day = "Monday";

switch ($day) {
    case "Monday":
        echo "Start of the week";
        break;
    case "Friday":
        echo "Almost weekend";
        break;
    case "Saturday":
    case "Sunday":
        echo "Weekend!";
        break;
    default:
        echo "Regular day";
}
?>

PHP משווה את $day לכל אחד מהמקרים. כשהוא מוצא התאמה, הוא מריץ את הקוד של אותו בלוק.

הפקודה break חיונית. היא מורה ל-PHP לצאת מה-switch לאחר ביצוע ה-case המתאים. בלעדיה, PHP ימשיך להריץ את כל הקוד שמתחת, אפילו מקטעי case אחרים.

שימו לב איך שבת וראשון חולקים את אותו קוד באמצעות הצבת המקרים בזה אחר זה. המקרה default מתפקד כמו else. הוא מופעל כשאף מקרה אחר לא תואם.

<?php
$grade = "B";

switch ($grade) {
    case "A":
        echo "Excellent!";
        break;
    case "B":
        echo "Good job!";
        break;
    default:
        echo "Keep trying!";
}
?>

השתמש ב־switch כשמשווים משתנה אחד לכמה ערכים מדויקים. לתנאים מורכבים או לטווחים, היצמד להוראות if-elseif.

challenge icon

אתגר

קל

קרא/י מחרוזת command מהקלט, שמייצגת צבע של רמזור.

השתמש/י בהוראת switch כדי לקבוע את הפעולה המתאימה על סמך הצבע:

  • אם הפקודה היא red, הדפס/י Stop
  • אם הפקודה היא yellow, הדפס/י Slow down
  • אם הפקודה היא green, הדפס/י Go
  • אם הפקודה היא flashing red או flashing yellow, הדפס/י Proceed with caution
  • עבור כל ערך אחר, הדפס/י Invalid signal

דוגמה:

אם הקלט הוא green, הפלט צריך להיות:

Go

אם הקלט הוא flashing red, הפלט צריך להיות:

Proceed with caution

אם הקלט הוא blue, הפלט צריך להיות:

Invalid signal

נסו בעצמכם

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

// TODO: כתבו את הקוד שלכם למטה באמצעות פקודת switch
// קבעו את הפעולה המתאימה לפי צבע הרמזור


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

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

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

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