הסרת משימה
חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 58 מתוך 71.
אתגר
קלבשיעור הקודם סימנת משימה כהושלמה. עכשיו הוסף את האפשרות להסיר משימה מהרשימה לחלוטין.
קרא ארבע שורות קלט של תיאורי משימות (שלוש משימות התחלתיות ועוד משימה חדשה אחת). לאחר מכן קרא קלט חמישי: מספר שלם שמייצג את האינדקס של המשימה שיש לסמן כהושלמה. לבסוף, קרא קלט שישי: מספר שלם שמייצג את האינדקס של המשימה שיש להסיר מהרשימה.
לאחר יצירת מערך $todos עם כל ארבע המשימות וסימון המשימה שצוינה כהושלמה, הסר את המשימה באינדקס ההסרה הנתון באמצעות array_splice().
הפונקציה array_splice() מסירה איברים ממערך:
<?php
array_splice($array, $index, 1); // Removes 1 element at $index
?>לאחר מכן עבור בלולאה על המשימות שנותרו והדפס כל אחת באותו פורמט כמו קודם:
- אם המשימה הושלמה:
- [task description] (Done) - אם המשימה ממתינה:
- [task description] (Pending)
הדפס כל משימה בשורה נפרדת.
דוגמה:
אם הקלטים הם Buy groceries, Walk the dog, Finish homework, Call mom, 1 ו-2, הפלט צריך להיות:
- Buy groceries (Pending)
- Walk the dog (Done)
- Call mom (Pending)אם הקלטים הם Clean room, Read book, Exercise, Cook dinner, 0 ו-0, הפלט צריך להיות:
- Read book (Pending)
- Exercise (Pending)
- Cook dinner (Pending)נסו בעצמכם
<?php
// Read three task descriptions
$task1 = trim(fgets(STDIN));
$task2 = trim(fgets(STDIN));
$task3 = trim(fgets(STDIN));
// Read the new task to add
$newTask = trim(fgets(STDIN));
// Read the index of the task to mark as complete
$completeIndex = (int)trim(fgets(STDIN));
// Create a $todos array containing three task arrays
// Each task should be an associative array with "task" and "completed" keys
$todos = [
["task" => $task1, "completed" => false],
["task" => $task2, "completed" => false],
["task" => $task3, "completed" => false]
];
// Add the new task to the end of the array
$todos[] = ["task" => $newTask, "completed" => false];
// Mark the task at the specified index as complete
$todos[$completeIndex]["completed"] = true;
// Loop through the array and print each task in the formatted list
foreach ($todos as $todo) {
if ($todo["completed"]) {
echo "- " . $todo["task"] . " (Done)\n";
} else {
echo "- " . $todo["task"] . " (Pending)\n";
}
}
?>כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואהשוויון וזהותאופרטורים לוגיים — חלק 1אופרטורים לוגיים — חלק 2סיכום — לוגיקה פשוטה2משתנים וסוגי נתונים
מספריםמחרוזות ומירכאותערכים בוליאנייםכללי מתן שמותסיכום – אתחול משתניםמשתנים ריקיםשרשור מחרוזותקבלת קלט מהמשתמשהמרה לסוגים שונים3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקההשמה משולבתהגדלה והקטנהקדימות אופרטוריםסיכום — חישובים פשוטיםאופרטורים למחרוזות6מערכים חלק 1 – ממוספרים באינדקס
מבוא למערכיםיצירת מערכים ממוספרים באינדקסגישה לאיברים לפי אינדקסשינוי איברים לפי אינדקסגודל המערך באמצעות Countהוספת איברים למערךסיכום – ניהול רשימה פשוטה9פרויקט: רשימת משימות פשוטה
סקירת הפרויקט והנתוניםהוספת משימה חדשהתרגלו בעצמכם: קומפיילר PHP אונליין