הצהרות מותנות ב-PHP

SSL מהימן החל מ-$3.44 בלבד
פרסומות
מחרוזות ב-PHP
משתנים וקבועים

ב-PHP 8, ישנם שלושה סוגים של הצהרות מותנות עיקריות: If… Else… הצהרות ElseIf הן הצהרות מותנות. במאמר זה תלמדו על הצהרות מותנות של PHP, מהיסודות ועד ליישומים מתוחכמים.

מהן הצהרות מותנות?

הצהרות מותנות של PHP לְהַגדִיר תנאי שיש לעמוד בו על מנת שבלוק הקוד המותנה יתבצע. כאשר ההצהרה המותנית מתקיימת, מצביע ההוראות מועבר להצהרה הראשונה בתוך הבלוק המותנה. אם התנאי לא מתקיים, מצביע ההוראות מדלג על כל גוש הקוד ועובר להצהרה הבאה מחוץ לבלוק.

סוגי הצהרות מותנות של PHP

הצהרות מותנות ב-PHP 8 מסווגות כדלקמן. הרעיון המרכזי שלהם נשאר זהה; עם זאת, החלטת היזם בין אלה מינים נקבע לפי הנסיבות.

  1. If
  2. אחר
  3. אחרת אם
  4. מתג

אל האני להחליף המשפט שונה משלושת הראשונים, לכן נשפוך אור על הצהרת switch לאחר שנסביר את שלושת הסוגים הראשונים בפירוט.

הצהרת IF ב-PHP

ב-PHP, המשפט IF מקבל ארגומנט שהוא נכון או לא נכון. כאשר הארגומנט נכון, בלוק הקוד של המשפט מבוצע. אם הפרמטרים מחזירים false, שורות בלוק הקוד לא יבוצעו.

if (condition) {
  code block that will execute when the condition becomes true
}

<?php
$a = date("H");

if ($a < "10") {
  echo "I am inside the if block!";
}
?>

הסבר לדוגמא

  • המשתנה a מאותחל עם התאריך. השעה הנוכחית היחידה נלקחת מהתאריך.
  • אם ההצהרה משמשת כדי לבדוק אם השעה הנוכחית היא פחות מ-20.
  • אם ההצהרה לעיל מחזירה אמת. ההודעה מודפסת.

הערה: אם אתה מבולבל לגבי קבלת השעה מהתאריך, אתה יכול לעבור על המאמר זמן ותאריך.

ההצהרה if עובדת די בסדר עבור ההחלטות הבודדות, מה אם יש הצהרה חלופית שחייבת לבצע אם התנאי הופך לא נכון. במקרה זה, יש לנו IF ELSE מותנה ב-PHP.

הצהרת IF ELSE ב-PHP

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

if (condition) {
  code block;
} else {
  code block;
}
$a = date("H");

if ($a < "10") {
  echo "Inside if!";
} else {
  echo "Inside else!";
}

הסבר על הדוגמה

  • בדוגמה שלמעלה, המשתנה $a מכיל את התאריך הנוכחי. ה-"H" שצוין בפרמטר התאריך הצביע על כך שאנו רוצים רק את השעה הנוכחית של היום.
  • בדוק אם השעה הנוכחית היא פחות מ-20.
  • אם השעה הנוכחית אינה קטנה מ-0 או גדולה ממנה, בצע את הבלוק else

אם יש לך מספר תנאים. השתמש בסוג הבא של הצהרה מותנית.

if (condition) {
  code block if condition becomes true;
} elseif (condition) {
  code block if else if becomes true;
} else {
  code block if none of the above conditions becomes true;
}
$a = date("H");

if ($t < "20") {
  echo "Inside first if!";
} elseif ($t < "20") {
  echo "Inside else if!";
} else {
  echo "Inside last else!";
}

הסבר על הדוגמה

  • בדוגמה שלמעלה, המשתנה $a מכיל את התאריך או השעה הנוכחיים.
  • התנאי הראשון הוא, אם השעה היא פחות מ-10, הדפס "בוקר טוב!".
  • התנאי השני הוא, אם השעה הנוכחית היא לא פחות מ-10, אל דאגה, הצהרת Elseif היא שם כדי לשים צ'ק עבור תנאי אחר שהוא $a צריך להיות פחות מ-20.
  • אם שתי ההצהרות אינן נופלות בתנאי כלשהו, ​​המשפט אחרון אחר יתבצע.

הצהרת החלף ב-PHP

הצהרת ה-switch מריצה בלוקי קוד שונים בהתאם לקריטריונים. משפט ה-switch מבצע רק את ההצהרה שגורמת להפעלת הבורר.

SSL מהימן החל מ-$3.44 בלבד
פרסומות
switch (cond) {
  case label_1:
    code block if cond=label_1;
    break;
  case label_2:
    code block if cond=label_2;
    break;
  case label_3:
    code block if cond=label_3;
    break;
    ...
  default:
    code block if cond is different from all labels;
}

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

מהי ברירת המחדל בהצהרת ה-switch?

ברירת המחדל מגדירה שאם אף מקרה לא עונה על התנאי במשפט switch, אז בלוק הקוד תחת מילת המפתח המוגדרת כברירת מחדל יבוצע.

דוגמה להצהרת הבורר

$color = "green";

switch ($color) {
  case "white":
    echo "Favorite color is white!";
    break;
  case "black":
    echo "Favorite color is black!";
    break;
  case "green":
    echo "Favorite color is green!";
    break;
  default:
    echo "Favorite color does not belongs to white, black, or green!";
}

שאלות ותשובות

ש: מהי הצהרה מותנית?
משפט מותנה הוא טכניקת תכנות המאפשרת להריץ קוד רק אם מתקיים תנאי נתון.

ש: ב-PHP, איך כותבים הצהרת if?
ת: מילת המפתח if משמשת ליצירת הצהרת if, ולאחר מכן מופיעה התנאי בסוגריים וקבוצה של סוגריים מסולסלים המכילים את הקוד שיבוצע אם התנאי נכון. לדוגמה, אם (תנאי) / קוד לביצוע;

ש: איך כותבים הצהרת אם-אחר?
ת: מילת המפתח if משמשת לבניית משפט if-else, ולאחר מכן מופיע התנאי בסוגריים וקבוצה של סוגריים מסולסלים המכילים את הקוד שיבוצע אם התנאי נכון. לאחר מכן, אם התנאי הוא שקר, מילת מפתח אחרת מלווה בקבוצה של סוגריים מסולסלים המכילים את הקוד לביצוע. if (תנאי) / קוד לביצוע אם נכון; else / קוד שיבוצע אם false;

ש: איך כותבים הצהרת if-elseif-else?
ת: מילת המפתח if משמשת ליצירת משפט if-else, שאחריו מופיע התנאי הראשון בסוגריים וקבוצה של סוגריים מסולסלים המכילים את הקוד שיש להפעיל אם התנאי נכון. לאחר מכן מגיעה מילת מפתח elseif, ואחריה התנאי השני בסוגריים וזוג סוגרים מסולסלים המכילים את הקוד שיתבצע אם התנאי השני יתקיים. לבסוף, יש מילת מפתח נוספת ואחריה זוג סוגריים מסולסלים המכילים את הקוד שיופעל אם שני התנאים שקריים. דוגמא:

elseif (condition2) {  // code to be executed if condition1 is false and condition2 is true; } 
else {  // code to be executed if both conditions are false; }

ש: איך כותבים הצהרת switch?
ת: הצהרת switch מופקת על ידי שימוש במילת המפתח 'מתג', ואחריה הערך שיש להעריך בסוגריים וסדרה של סוגריים מסולסלים " המכילים את המקרים השונים. כל מקרה מוגדר על ידי מילת המפתח 'מקרה', ואחריה הערך שיש להתאים ונקודתיים ':,' ולבסוף הקוד שיופעל אם המקרה תואם. ניתן להשתמש במילת המפתח 'ברירת מחדל', ואחריה נקודתיים ':' והקוד שיופעל אם אף אחד מהמקרים אינו תואם, כדי להציג מקרה ברירת מחדל.

ש: מה ההבדל בין משפט if-else לבין משפט switch?
ת: ההבחנה העיקרית בין הצהרות if-else ל-switch היא שהצהרות if-else מעריכות נסיבות רבות ומבצעות קוד כראוי, בעוד שמשפטי switch משווים ערך בודד מול מספר תרחישים ומפעילים קוד בהתאם. הצהרות If-else יכולות להתמודד עם כל סוג של תנאי או ביטוי, בעוד שהצהרות switch יכולות להתמודד רק עם טיפוסים וממחרוזות אינטגרליות.

תרגילים:

  1. איך יוצרים הצהרת if ב-PHP?
  2. איך יוצרים הצהרת if-else ב-PHP?
  3. איך יוצרים משפט if-elseif-else ב-PHP?
  4. איך יוצרים הצהרת switch ב-PHP?
  5. מה ההבדל בין הצהרות if-else ל-switch?
  6. איך משתמשים באופרטור טריני כדי ליצור משפט if-else קצר ב-PHP?

תשובות:

  1. if (condition) { // code to be executed; }
  2. if (condition) { // code to be executed if true; } else { // code to be executed if false; }
  3. if (condition1) { // code to be executed if condition1 is true; } elseif (condition2) { // code to be executed if condition1 is false and condition2 is true; } else { // code to be executed if both conditions are false; }
  4. switch (value) { case value1: // code to be executed if value1 is matched; break; case value2: // code to be executed if value2 is matched; break; default: // code to be executed if none of the cases are matched; }
  5. הצהרות If-else משמשות להערכת תנאים רבים ולאחר מכן להפעיל קוד, ואילו הצהרות switch משמשות לבדיקת ערך בודד מול תרחישים רבים ולאחר מכן להפעיל קוד. הצהרות If-else יכולות להתמודד עם כל סוג של תנאי או ביטוי, בעוד שהצהרות switch יכולות להתמודד רק עם טיפוסים וממחרוזות אינטגרליות.
  6. $result = (condition) ? value_if_true : value_if_false;
מחרוזות ב-PHP
משתנים וקבועים
close

הישאר מעודכן לגבי PHP!

אנחנו לא שולחים ספאם!

SSL מהימן החל מ-$3.44 בלבד
פרסומות

en English
X
גלול למעלה