משפט תנאי if/else בשורה אחת בלבד ב-PHP

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

מתכנתים רבים עדיין משתמשים בדרך המסורתית לכתיבת משפט תנאי if/else:

if($user) {
	echo 'Hello, '.$user['username'].'!';
}
else {
	echo 'Hello, Guest!';
}

כמובן שגם דרך זו ניתנת לקיצור:

if($user) echo 'Hello, '.$user['username'].'!';
else echo 'Hello, Guest!';

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

echo 'Hello '.($user ? $user['username'] : 'Guest').'!';

אז מה קורה כאן? פשוט מאוד, התחלנו את המשפט עם הפעולה אותה נרצה לבצע, בדוגמא זו, הדפסנו את המילה "Hello" אשר תודפס בשני המקרים.
בתוך הסוגריים החלק המעניין, לפני סימן השאלה, כתבנו את התנאי שלנו, מה שמגיע מיד לאחר סימן השאלה הוא תרחיש ה-TRUE של המשפט, כלומר מה יקרה במידה והתנאי שלנו מתקיים, לאחר הנקודותיים זהו תרחיש ה-FALSE של המשפט, מה יקרה במידה והתנאי שלנו אינו מתקיים.
פשוט מאוד.

כיצד נבצע השמה?

דומה מאוד:

$isUser = ($user) ? true : false;

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

בהצלחה!

נהנת ממאמר זה? הירשם לרשימת התפוצה וקבל עדכונים על מאמרים חדשים!


2 תגובות בנושא “משפט תנאי if/else בשורה אחת בלבד ב-PHP”

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *