סיכום: חישובי תאריכים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 51 מתוך 68.
אתגר
קלתקבלו שלושה קלטים: תאריך התחלה, תאריך סיום ומחרוזת פורמט. שני הקלטים הראשונים הם מחרוזות תאריך בפורמט Y-m-d (לדוגמה: 2024-03-15), והקלט השלישי הוא ביטוי לשינוי, כגון +5 days, -2 weeks או +1 month.
קראו את כל שלושת הקלטים, צרו שני אובייקטים מסוג DateTime מתאריכי ההתחלה והסיום, החילו את ביטוי השינוי על תאריך ההתחלה, ואז קבעו איזה תאריך מאוחר יותר: תאריך ההתחלה לאחר השינוי או תאריך הסיום המקורי. הדפיסו את התאריך המאוחר יותר בפורמט Y-m-d.
פורמט הקלט:
- שורה ראשונה: מחרוזת תאריך התחלה בפורמט
Y-m-d(לדוגמה:2024-03-15) - שורה שנייה: מחרוזת תאריך סיום בפורמט
Y-m-d(לדוגמה:2024-04-10) - שורה שלישית: מחרוזת שינוי (לדוגמה:
+5 daysאו-2 weeks)
הפלט הצפוי: התאריך המאוחר יותר מבין תאריך ההתחלה לאחר השינוי ותאריך הסיום המקורי, בפורמט Y-m-d
נסו בעצמכם
<?php
// קראו את שלושת הקלטים
$startDate = trim(fgets(STDIN));
$endDate = trim(fgets(STDIN));
$modification = trim(fgets(STDIN));
// TODO: כתבו את הקוד שלכם למטה
// צרו אובייקטים מסוג DateTime מתאריכי ההתחלה והסיום
// החילו את השינוי על תאריך ההתחלה
// השוו את תאריך ההתחלה לאחר השינוי לתאריך הסיום
// קבעו איזה תאריך מאוחר יותר
// הדפיסו את התאריך המאוחר יותר בפורמט Y-m-d
echo $laterDate;
?>כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה7עבודה עם תאריכים ושעות
הפונקציה 'date()'חותמות זמן של Unix עם 'time()'מבוא לאובייקט DateTimeעיצוב אובייקטים מסוג DateTimeשינוי אובייקטים מסוג DateTimeסיכום: חישובי תאריכים2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין