שימוש ב- Switch - תיכנות ובניית אתרים בעזרת PHP

מדור תיכנות ובניית אתרים בעזרת PHP

הוסף למועדפים | הפוך לאתר הבית
מדור ברשת



רוצה לעזור?

אם אתה מעוניין לעזור לנו בפיתוח האתר, באפשרותך לשלוח מאמר\מדריך אל רשימות המאמרים שלנו, תודה על שיתוף הפעולה, הנהלת האתר.


אתרים מומלצים

מעוניינים לשחק משחקים ברשת , משחקי פלאש ועוד? בקרו באתרי משחקים הבאים: גיימאקסטרה משחקים או בבלוג המשחקים: בלוג משחקים

דף ראשי -> תכנות ובניית אתרים -> תיכנות ובניית אתרים בעזרת PHP -> שימוש ב- Switch
שימוש ב- Switch
לכל אלו שמכירים שפות תיכנות אחרות לדוגמא C או javascript כבר בטח מכירים את מבנה הבקרה Switch. מבנה הבקרה Switch שב-PHP זהה למבנה הבקרה שב- Javascript ושפות נוספות - כך שאם אתם מכירים את המבנה הבקרה מהשפות האלו זה לא יהווה בעיה עבורכם וגם אם אינכם מכירים עדיין תוכלו ללמוד בקלות.


מבנה הבקרה switch עובד כמו מבנה הבקרה if else אבל פה אפשר לבדוק ערך אחד בכל פעם. תראו את שני הקודים למטה, בקוד הראשון אנו משתמשים בשיטה if else ובקוד השני אנו משתמשים במבנה הבקרה Switch.

קוד


$letter = "a";

if($letter == "a")
{

echo "Letter is A";

}
elseif($letter == "b")
{

echo "Letter is B";

}
elseif($letter == "c")
{

echo "Letter is C";

}



הקוד השני עם מבנה הבקרה Switch

קוד

$letter = "a";

switch($letter)
{

case "a" :
echo "Letter is A";
break;

case "b" :
echo "Letter is B";
break;

case "c" :
echo "Letter is C";
break;

}




שני הסקריפטים עושים את אותו הדבר רק שהסקריפט השני עם מבנה הבקרה Switch הוא לוקח משתנה Switch($letter) ובודק בכל פעם אם זה מתאים למה שבסוגרים אחרי case. במידה והוא מתאים אז אתה מבצע קוד כלשהו (במקרה הזה כותב פלט לדוגמא echo ) ואז כותב break; בשביל שזה לא ימשיך לבדוק את שאר ה- caseים בהמשך.

פשוט מאוד! אתם מכניסים ערך לתוך משתנה ומכניסים לתוך הסוגריים שאחרי ה SWITCH ואז כותבים caseים כדי לבדוק למה המשתנה שווה מבין אפשרויות שבסוגריים של case.


בסדר - עכשיו נגיד והגעו למצב שבו אף אחד מה- caseים לא מתאים למשתנה שאנו בודקים letter$, אז צריך לעשות משהו לא? צריך לכתוב הודעה נגיד שבמשתנה לא נמצא שום ות שמתאימה ל-caseים (case - זה "מקרה" באנגלית).

אפשר לטפל בבעיה בצורה הבאה:

קוד


$letter = "d";

switch($letter)
{

case "a" :
echo "Letter is A";
break;

case "b" :
echo "Letter is B";
break;

case "c" :
echo "Letter is C";
break;

default :
echo "Letter did not match";
}



שמו לב שהוספנו בסוף הקוד default שזה "ברירת-מחדל" במקרה ואף אחד מהמקרים (caseים) לא היו מותאמים - אז זה כותב את ההודעה "Letter did not match", בנוסף כאשר משתמשים ב- default אין צורך לכתוב ;break בכלל מכוון שזה סוף הפונקציה גם כך.

נגיד ואנחנו מגיעים למצב שבו אנו רוצים לדעת רק אם המשתנה letter$ מכיל או לא מכיל את האות a אז אנו נשתמש בקוד הבא

קוד


$letter = "c";

switch($letter)
{

case "a" :
echo "Letter is A";
break;

case "b" :

case "c" :
echo "Letter is not A";
break;


}



שימו לב שאחרי ה-case שבודק אם במשתנה יש b אין שם echo או break. עצם העובדה שאין שם break מאפשרת לו להמשיך במידה והמשתנה אכן שווה ל b.
בקוד הזה בעצם במידה והמשתנה הוא לא a אז זה ידפיס "Letter is not A". האפשרויות הקיימות בקוד זה זו שהוסברה קודם וגם האפשרות שהמשתנה כן מכיל את התוו a ואז זה ידפיס "Letter is A".

דפים נוספים בקטגוריה תיכנות ובניית אתרים בעזרת PHP
קבלת נתונים מטפסים ואבטחה
ניווט אתר בעזרת include ו-switch ואבטחה
שימוש ב- sessions
עיזרו לנו
אהבת את המדריך? הצבע עבורנו וקדם את האתר שלנו!