נגישות       נגישות
שינוי גודל טקסט:
א א א
שינוי צבעי האתר:
? מקשי קיצור:

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

הפעלת מקשי הקיצור תלויה בדפדפן שבו אתם משתמשים.

Internet Explorer, Chrome ובגרסאות ישנות של Firefox: לחצו על מקש Alt ועל מקש המספר או האות על-פי הרשימה. ב Firefox 3 ומעלה: לחצו על המקשים Alt + Shift + המספר או האות.

S - עבור לתוכן הדף
L - חיפוש
1- עמוד הבית
2 - פרוייקטים
3 - מדריכים
4 - אודות
5 - צרו קשר
6 - הצהרת נגישות
 

תחביר חלופי ל-if...else if ב-PHP

מחבר:
בתאריך:

ל-PHP יש כמה תחליפים יפים ואלגנטיים ל-if / else if ( לקריאת המדריך על משפטי תנאי ) , ובמדריך זה אציג שני תחליפים שימושיים במיוחד, שיהפכו את הקוד לקריא יותר ונוח יותר לתחזוקה ולפיתוח.

האפשרות הראשונה (שמכונה Ternary operator) שימושית במיוחד כשרוצים לבחור בין שתי אופציות. התחביר הכללי נראה כך:

(משהו לעשות אם התנאי לא מתקיים) : (משהו לעשות אם התנאי מתקיים) ? (תנאי)

בואו נראה דוגמה פשוטה:

$number = 3;
echo ($number == 3)? ("לא") : ("כן");

הסבר: המשתנה number$ שווה ל-3. התנאי אומר שאם המשתנה שווה ל-3 אז להדפיס "כן", ואם לא שווה אז להדפיס "לא".

 

התחליף האחר ל-if/else if שימושי כשרוצים לבחור בין מספר אפשרויות. התחביר הכללי נראה כך:

switch($var_name)
{
  case ($var_name==1):
    //תעשה משהו
    break;
  
  case ($var_name==2):
    //תעשה משהו אחר
    break;
  default:
    //עשה את הדיפולט
}

התחביר הזה מאפשר לבחון איזה מהתנאים (case) מתקיים , ולבצע את הפעולות בהתאם. בדוגמת הקוד הבאה המשתנה calorie_value$ יכול לקבל ערכים של "רזה", "נורמלי", או "שמן" . כל אחד מהערכים ידפיס הודעה אחרת, ומצב לא מוגדר יקבל הצהרה דיפולטית "חסר מידע".

switch($calorie_value)
{
case ("רזה"):
    echo "בריא ולא בהכרח טעים";
    break;
 
case ("נורמלי"):
    echo "לא מועיל – לא מזיק";
    break;
 
default:
  echo "חסר מידע";
}

ברוב המקרים שבהם אנחנו משתמשים ב-switch נרצה שרק אחת האפשרויות תבחר. כדי לעשות זאת נשתמש ב-break, שמוציא אותנו כשנמצאה האופציה המתאימה. איך זה עובד? ברגע שנמצאה התאמה, השרת זורק אותנו מחוץ ל-switch, ולא ממשיך להריץ שורות מיותרות (עם אופציות שאין בהן צורך).

 

בדוגמה הבאה, אנחנו רוצים לייצר את המשפט הבא: את/ה מוזמן/נת לצפות בהטבות בלעדיות "לפי שכבת הגיל". בדוגמה זו, יש לנו מידע על המשתמשים שכולל את מינם (זכר או נקבה) וגילם, ואנחנו מעוניינים שהמחשב יוציא טקסט מתאים למין ולגיל. הבחירה בין לשון זכר לנקבה נעשית באמצעות Ternary operator, והבחירה בין שכבות הגיל (יש יותר משתי אופציות), באמצעות - switch…case.

הקוד נראה כך:

<?php      //המשתנים שמכילים את המין והגיל
	$user_gender = 'female';
	 $user_age = 18;
	?>
<?php     //לשון זכר או נקבה
echo "את",
	   $user_gender === 'female'? " ה" : " ",
"מוזמ",
	   $user_gender === 'female'? " נת " : "ן",
"לצפות בהטבות בלעדיות ";
	?>
	<?php
	     //הצעה לפי קבוצת הגיל
	switch($user_age)
	{
case ($user_age < 18) :   echo"לילדים ולנוער";       break;   case ($user_age < 21) :   echo"לחיילים";       break;   case ($user_age < 30) :   echo"לצעירים";      break;   case ($user_age >= 30) :   echo"לבוגרים";      break;   default:      echo"לכל הגילאים"; } ?>

והתוצאה:

את מוזמנת לצפות בהטבות בלעדיות לחיילים.

במדריך הבא נציג ונסביר תחביר שמאפשר להריץ את הקוד כמה שצריך באמצעות לולאות תכנותיות.

לכל מדריכי ה-PHP

הוסף תגובה חדשה

 

= 3 + 7