תנאי if
חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 28 מתוך 71.
עכשיו, כשאתה יודע איך ליצור ביטויים בוליאניים, הגיע הזמן להשתמש בהם כדי לגרום לקוד שלך לעשות דברים שונים בהתאם לתנאים. פקודת if מאפשרת לך להריץ קוד רק כאשר תנאי מתקיים.
בתחביר הבסיסי, התנאי שלך מוקף בסוגריים, ואחריו סוגריים מסולסלים שמכילים את הקוד שיש להריץ:
<?php
$age = 20;
if ($age >= 18) {
echo "You are an adult";
}
?>כש-PHP נתקל בהצהרת if, הוא מעריך את התנאי. אם התוצאה היא true, הקוד שבתוך הסוגריים המסולסלים רץ. אם התוצאה היא false, PHP מדלג על הבלוק הזה לחלוטין וממשיך בשאר התוכנית.
<?php
$temperature = 35;
if ($temperature > 30) {
echo "It's hot outside!";
}
echo " Have a nice day!";
?>בדוגמה הזו, שתי ההודעות מופיעות כי התנאי נכון. אם $temperature היה 25, רק "Have a nice day!" היה מודפס, מכיוון שבלוק ה־if היה מדולג.
אפשר להשתמש בכל ביטוי בוליאני כתנאי, כולל אופרטורי ההשוואה והאופרטורים הלוגיים שכבר למדת.
אתגר
קלקראו שני מספרים שלמים מהקלט: speed ו-speedLimit.
השתמשו במשפט if כדי לבדוק אם הנהג נוסע במהירות מופרזת. אם speed גדול מ-speedLimit, הדפיסו Speeding ticket issued.
אחרי משפט ה-if (בלי קשר לשאלה אם התנאי היה נכון או שקרי), הדפיסו תמיד Drive safely! בשורה חדשה.
דוגמה:
אם הקלט הוא 75 ו-60, הפלט צריך להיות:
Speeding ticket issued
Drive safely!אם הקלט הוא 55 ו-60, הפלט צריך להיות:
Drive safely!נסו בעצמכם
<?php
// קראו את הקלט
$speed = intval(fgets(STDIN));
$speedLimit = intval(fgets(STDIN));
// TODO: כתבו את הקוד שלכם למטה
// בדקו אם speed גדול מ-speedLimit והדפיסו הודעות מתאימות
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואהשוויון וזהותאופרטורים לוגיים — חלק 1אופרטורים לוגיים — חלק 2סיכום — לוגיקה פשוטה2משתנים וסוגי נתונים
מספריםמחרוזות ומירכאותערכים בוליאנייםכללי מתן שמותסיכום – אתחול משתניםמשתנים ריקיםשרשור מחרוזותקבלת קלט מהמשתמשהמרה לסוגים שונים3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקההשמה משולבתהגדלה והקטנהקדימות אופרטוריםסיכום — חישובים פשוטיםאופרטורים למחרוזותתרגלו בעצמכם: קומפיילר PHP אונליין