ערכי ברירת מחדל לפרמטרים
חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 64 מתוך 71.
לפעמים רוצים שלפרמטר של פונקציה יהיה ערך ברירת מחדל כשלא מסופק ארגומנט. ערכי ברירת מחדל לפרמטרים מאפשרים להגדיר מה יהיה ערכו של פרמטר אם הקורא לא מציין אותו.
כדי להגדיר ערך ברירת מחדל, יש לשייך אותו ישירות בהצהרת הפונקציה באמצעות האופרטור =:
<?php
function greet($name = "Guest") {
echo "Hello, $name!\n";
}
greet("Alice");
greet();
?>הפלט הוא:
Hello, Alice!
Hello, Guest!כשקוראים ל־greet("Alice"), הארגומנט גובר על ערך ברירת המחדל. כשקוראים ל־greet() בלי ארגומנט, PHP משתמש במקום זאת ב־"Guest".
אפשר לשלב פרמטרים נדרשים ואופציונליים, אבל פרמטרים עם ערכי ברירת מחדל חייבים לבוא אחרי הפרמטרים הנדרשים:
<?php
function createUser($name, $role = "member") {
return "$name is a $role";
}
echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>הפלט הוא:
Alice is a member
Bob is a adminהפרמטר הראשון $name הוא חובה, ואילו $role מקבל כברירת מחדל את הערך "member" אם הוא לא מסופק. התבנית הזאת הופכת את הפונקציות שלך לגמישות יותר בלי לדרוש מהקוראים לפונקציה לספק תמיד כל ארגומנט.
אתגר
קלקרא שתי שורות קלט:
- שם מוצר (למשל,
Laptop) - כמות (למשל,
5). הקלט הזה עשוי להיות ריק
צור פונקציה בשם formatOrder שמקבלת שני פרמטרים: $product (נדרש) ו-$quantity (אופציונלי, ברירת המחדל היא 1). הפונקציה צריכה להחזיר מחרוזת בפורמט הבא:
Order: [quantity]x [product]אם קלט הכמות ריק, קרא לפונקציה עם שם המוצר בלבד (תוך שימוש בכמות ברירת המחדל). אחרת, קרא לה עם שני הערכים.
הדפס את התוצאה שהוחזרה.
דוגמה 1:
אם הקלט הוא Laptop ו-5, הפלט צריך להיות:
Order: 5x Laptopדוגמה 2:
אם הקלט הוא Keyboard ושורה ריקה, הפלט צריך להיות:
Order: 1x Keyboardדוגמה 3:
אם הקלט הוא Monitor ו-3, הפלט צריך להיות:
Order: 3x Monitorנסו בעצמכם
<?php
// קרא את הקלט
$product = trim(fgets(STDIN));
$quantity = trim(fgets(STDIN));
// TODO: צור את הפונקציה formatOrder עם $product (פרמטר חובה) ו-$quantity (פרמטר אופציונלי, שערך ברירת המחדל שלו הוא 1)
// הפונקציה צריכה להחזיר מחרוזת בפורמט: "Order: [quantity]x [product]"
// TODO: קרא לפונקציה בהתאם לשאלה אם quantity ריק או לא
// אם quantity ריק, קרא לפונקציה עם product בלבד (השתמש בערך ברירת המחדל)
// אחרת, קרא לפונקציה עם product ו-quantity
// הדפס את התוצאה
echo $result;
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואהשוויון וזהותאופרטורים לוגיים — חלק 1אופרטורים לוגיים — חלק 2סיכום — לוגיקה פשוטה2משתנים וסוגי נתונים
מספריםמחרוזות ומירכאותערכים בוליאנייםכללי מתן שמותסיכום – אתחול משתניםמשתנים ריקיםשרשור מחרוזותקבלת קלט מהמשתמשהמרה לסוגים שונים3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקההשמה משולבתהגדלה והקטנהקדימות אופרטוריםסיכום — חישובים פשוטיםאופרטורים למחרוזותתרגלו בעצמכם: קומפיילר PHP אונליין