האופרטור הטרנרי
חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 30 מתוך 71.
כשיש לך תנאי if-else פשוט שרק משייך ערך על סמך תנאי, PHP מציעה דרך קצרה יותר לכתוב אותו: האופרטור הטרנרי.
התחביר משתמש ב־? וב־: כדי ליצור תנאי תמציתי בשורה אחת:
<?php
$age = 20;
// שימוש ב-if-else
if ($age >= 18) {
$status = "adult";
} else {
$status = "minor";
}
// אותו הדבר עם האופרטור התנאי המשולש
$status = $age >= 18 ? "adult" : "minor";
echo $status; // מבוגר
?>המבנה הוא: condition ? value_if_true : value_if_false.
PHP מעריכה תחילה את התנאי. אם הוא נכון, הביטוי מחזיר את הערך שאחרי ?. אם הוא שגוי, הוא מחזיר את הערך שאחרי :.
<?php
$score = 45;
$result = $score >= 50 ? "Pass" : "Fail";
echo $result; // Fail
$isLoggedIn = true;
$greeting = $isLoggedIn ? "Welcome back!" : "Please log in";
echo $greeting; // Welcome back!
?>האופרטור הטרנרי מתאים במיוחד להשמות פשוטות של או-או. עבור לוגיקה מורכבת יותר עם כמה תנאים, היצמדו להוראות if-elseif-else כדי לשפר את הקריאות.
אתגר
קלקרא שני מספרים שלמים מהקלט: score ו-passingScore.
השתמש באופרטור התנאי כדי לקבוע את התוצאה לפי התנאים הבאים:
- אם
scoreגדול מ-passingScoreאו שווה לו, התוצאה צריכה להיותPassed - אחרת, התוצאה צריכה להיות
Failed
הדפס את התוצאה בשורה הראשונה.
לאחר מכן, קרא מספר שלם quantity מהקלט. השתמש באופרטור התנאי כדי לקבוע את הודעת המשלוח:
- אם
quantityגדול מ-10, ההודעה צריכה להיותFree shipping - אחרת, ההודעה צריכה להיות
Standard shipping
הדפס את הודעת המשלוח בשורה השנייה.
דוגמה:
אם הקלט הוא 75, 60 ו-15, הפלט צריך להיות:
Passed
Free shippingאם הקלט הוא 45, 50 ו-5, הפלט צריך להיות:
Failed
Standard shippingנסו בעצמכם
<?php
// קראו את הקלט
$score = intval(fgets(STDIN));
$passingScore = intval(fgets(STDIN));
$quantity = intval(fgets(STDIN));
// TODO: כתבו את הקוד שלכם למטה
// השתמשו באופרטור התנאי כדי לקבוע אם הציון עובר או נכשל
// השתמשו באופרטור התנאי כדי לקבוע את הודעת המשלוח
// הציגו את התוצאות
echo $result . "\n";
echo $shippingMessage;
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואהשוויון וזהותאופרטורים לוגיים — חלק 1אופרטורים לוגיים — חלק 2סיכום — לוגיקה פשוטה2משתנים וסוגי נתונים
מספריםמחרוזות ומירכאותערכים בוליאנייםכללי מתן שמותסיכום – אתחול משתניםמשתנים ריקיםשרשור מחרוזותקבלת קלט מהמשתמשהמרה לסוגים שונים3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקההשמה משולבתהגדלה והקטנהקדימות אופרטוריםסיכום — חישובים פשוטיםאופרטורים למחרוזותתרגלו בעצמכם: קומפיילר PHP אונליין