סיכום: מגוון פונקציות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 9 מתוך 68.
אתגר
קלצרו מערכת לעיבוד טקסט שמשלבת כמה מושגים של פונקציות שלמדתם. יהיה עליכם לממש כמה פונקציות ולהשתמש בהן יחד כדי לעבד נתוני טקסט.
ראשית, צרו פונקציה אנונימית המאוחסנת במשתנה בשם $reverseText, שמקבלת מחרוזת ומחזירה אותה בסדר הפוך.
לאחר מכן, צרו פונקציה רגילה בשם countVowels, שמקבלת מחרוזת ומחזירה את מספר התנועות (a, e, i, o, u — ללא תלות באותיות גדולות או קטנות) שבה.
לאחר מכן, צרו פונקציה בשם processText שמקבלת שלושה פרמטרים: מחרוזת טקסט, שם של פעולה ופונקציית callback. הפונקציה צריכה:
- אם הפעולה היא
"reverse", להפעיל את פונקציית ה-callback כדי להפוך את סדר הטקסט ולהחזיר את התוצאה - אם הפעולה היא
"vowels", להפעיל את פונקציית ה-callback כדי לספור את התנועות ולהחזיר את המספר - אם הפעולה היא
"length", להחזיר את אורך הטקסט
תקבלו שתי קלטים: שם הפעולה ("reverse", "vowels" או "length") והטקסט לעיבוד. קראו את שני הקלטים, קבעו באיזו פונקציה להשתמש בהתאם לפעולה, קראו ל-processText עם הפרמטרים המתאימים והדפיסו את התוצאה.
פורמט הקלט: שתי שורות — השורה הראשונה מכילה את שם הפעולה, והשורה השנייה מכילה את הטקסט לעיבוד
הפלט הצפוי: התוצאה בהתאם לפעולה — הטקסט בסדר הפוך עבור "reverse", מספר התנועות עבור "vowels", או אורך הטקסט עבור "length"
נסו בעצמכם
<?php
// קראו את הקלט
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: כתבו את הקוד שלכם למטה
// צרו את הפונקציה האנונימית $reverseText
// צרו את הפונקציה countVowels
// צרו את הפונקציה processText
// קראו ל־processText עם הפרמטרים המתאימים בהתאם לפעולה
// הציגו את התוצאה
echo $result;
?>כל השיעורים ביחידה לוגיקה וזרימת תוכנית
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 אונליין