Menu
Coddy logo textTech

האופרטור הטרנרי

חלק מהיחידה יסודות במסלול ה-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 כדי לשפר את הקריאות.

challenge icon

אתגר

קל

קרא שני מספרים שלמים מהקלט: 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;
?>
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר PHP אונליין