אתגר: סך הכול בעגלת הקניות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 67 מתוך 68.
אתגר
קלתקבל קלט יחיד: מחרוזת JSON שמייצגת מערך של פריטים בעגלת קניות.
הקלט יהיה מחרוזת JSON בפורמט הזה: [{"name":"Laptop","price":999.99,"quantity":1},{"name":"Mouse","price":25.50,"quantity":2},{"name":"Keyboard","price":75.00,"quantity":1}]
קרא את הקלט ופענח את מחרוזת ה-JSON למערך של פריטים. לכל פריט יש שלוש תכונות: name, price ו-quantity.
חשב את העלות הכוללת של עגלת הקניות על ידי הכפלת המחיר של כל פריט בכמות שלו, ואז חיבור כל התוצאות. השתמש ב-array_reduce() עם פונקציית callback מותאמת אישית כדי לחשב את הסכום הכולל.
לאחר חישוב הסכום הכולל, הדפס אותו בפורמט הבא:
Total: $[amount]
עצב את הסכום כך שיכלול בדיוק 2 ספרות אחרי הנקודה העשרונית, באמצעות number_format().
פורמט הקלט:
- שורה יחידה המכילה מחרוזת JSON שמייצגת מערך של פריטים בעגלת הקניות, עם המפתחות
name,priceו-quantity
הפלט הצפוי: שורה יחידה המציגה את העלות הכוללת בפורמט: Total: $[amount] כאשר הסכום מעוצב עם 2 ספרות אחרי הנקודה העשרונית
נסו בעצמכם
<?php
// קראו את קלט ה-JSON
$input = fgets(STDIN);
// פענחו את מחרוזת ה-JSON למערך
$items = (array)json_decode($input, true);
// TODO: כתבו את הקוד שלכם למטה כדי לחשב את הסכום הכולל באמצעות array_reduce()
// הציגו את התוצאה
echo "Total: $" . number_format($total, 2);
?>כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה7עבודה עם תאריכים ושעות
הפונקציה 'date()'חותמות זמן של Unix עם 'time()'מבוא לאובייקט DateTimeעיצוב אובייקטים מסוג DateTimeשינוי אובייקטים מסוג DateTimeסיכום: חישובי תאריכים10אתגרים אחרונים
אתגר: בודק פלינדרומיםאתגר: שכיחות תוויםאתגר: סך הכול בעגלת הקניותאתגר: סינון פריטים ייחודיים2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין