משפט ה Switch בשפת PHP

משפט ה Switch מזכיר מאוד את ה if כפי שהכרנו במאמר הקודם במשפט תנאי (if) בשפת PHP, אפשר להגיד שזה המחליף שלו כאשר נרצה להשתמש במקרי בדיקה מרובים, במקום לכתוב המון if .. elseif.. elseif .. else פשוט נכתוב משפט Switch, שהוא קצר, מובן וקליל. יש כאלה שלא יתחברו, כל אחד ואיך שנוח לו :).

תחביר ה Switch

תחילה אנו כותבים את המילה השמורה switch שאומרת כרגע אנחנו משתמשים במשפט הזה, לאחר מכן בסוגריים אנחנו כותבים את התנאי שלנו, switch מבוסס על השוואה, אז זה לא באמת תנאי, אלא משתנה כלשהו שנשווה אותו לכל אחד מה – caseים שלנו, במידה והמשתנה ב condition שווה למשתנה שב firstCase אז הקטע קוד שנמצא בו יתבצע, אם הוא לא שווה לאף אחד מה caseים, הקטע שב default יתבצע. זה קצת לא יושב טוב, מיד לאחר הדוגמא הכל יסתדר:

 כפי שאתם רואים אנו בדקנו האם $number שווה ל 10, ומצאנו כי אכן במקרה השני הוא שווה ל 10 וביצענו את הקוד שבא מיד לאחר מכן שמדפיס לנו – The value is 10. אך אלה שבאמת הריצו את הקוד ראו שלא הודפס רק The value is 10 אלא מה שהודפס בפועל זה:

למה ?, מכיוון שלאחר שהcase השני התבצע, אז גם כל השאר שאחריו כולל ה default, אנחנו אמורים למנוע את זה, וכדי באמת למנוע את זה עלינו להשתמש בפקודה חדשה ששמה break, דוגמא תקינה:

עכשיו יודפס לנו בדיוק מה שרצינו – The value is 10. הבדיקה היא זהה ומרחשת באותה הדרך השינוי היחידי הוא כאשר ניכנס ל case מסויים, בתום ביצוע הקוד שנמצא בו, נפסיק את הריצה ונצא מ switch – הרי השגנו את מה שאנחנו רוצים. למה לא שמנו break ב default ?, בגלל שה default מתרחש בסוף (תמיד!) ואין אחריו עוד caseים, ככה שאין מה לבצע אחריו ו PHP תצא לבד מה switch :), אני מניח ששמתם לב שלא השתמשנו בסוגריים מסולסלים בין מקרה למקרה (case ל case) זה כי לא חייב לעומת שאר הפקודות שחובה.

אם הבנתם לעומק את השימוש ב switch ואתם חושבים שאתם יכולים להמשיך הלאה, נעבור למאמר שנלמד בו את לולאת For בשפת PHP :).