פונקציות אנונימיות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 1 מתוך 68.
פונקציות אנונימיות, הידועות גם כסגירות (closures), הן פונקציות ללא שם מוגדר. הן מושלמות למשימות קצרות וחד-פעמיות, שבהן יצירת פונקציה מלאה בעלת שם תהיה מוגזמת.
כדי ליצור פונקציה אנונימית, משתמשים במילת המפתח function בלי שם של פונקציה, ואז משייכים אותה למשתנה:
<?php
$greeting = function($name) {
echo "Hello, " . $name . "!";
};
?>שימו לב לנקודה-פסיק שאחרי הסוגר המסולסל הסוגר — היא נדרשת כי אתם משייכים את הפונקציה למשתנה.
כדי לקרוא לפונקציה האנונימית, משתמשים בשם המשתנה ולאחריו בסוגריים:
<?php
$greeting("Alice"); // פלט: Hello, Alice!
?>פונקציות אנונימיות שימושיות במיוחד כשאתה צריך פונקציה פשוטה למשימה מסוימת, בלי להעמיס על הקוד שלך פונקציות בעלות שם שתשתמש בהן רק פעם אחת.
אתגר
קלצרו פונקציה אנונימית שמקבלת מספר כפרמטר ומחזירה את הריבוע של המספר הזה. הקצו את הפונקציה למשתנה בשם $square.
תקבלו מספר כקלט. קראו את המספר, קראו לפונקציה האנונימית שלכם עם המספר הזה והדפיסו את התוצאה.
פורמט הקלט: מספר יחיד (שעשוי לכלול ספרות עשרוניות)
הפלט הצפוי: הריבוע של מספר הקלט
נסו בעצמכם
<?php
// קרא את הקלט
$number = floatval(fgets(STDIN));
// TODO: צור פונקציה אנונימית והקצה אותה למשתנה $square
// קרא לפונקציה והדפס את התוצאה
echo $square($number);
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין