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