Menu
Coddy logo textTech

タスクを完了としてマークする

CoddyのPHPジャーニー「基礎」セクションの一部。レッスン 57/71。

challenge icon

チャレンジ

簡単

前のレッスンでは、すべてのタスクとそのステータスを表示しました。ここでは、特定のタスクを完了としてマークする機能を追加します。

タスクの説明として入力を4行読み取ります(これまでと同じく、最初の3つのタスクと新しいタスク1つ)。次に、完了としてマークするタスクのインデックス(0ベース)を表す整数を、5つ目の入力として読み取ります。

4つすべてのタスクを含む $todos 配列を作成したら、指定されたインデックスのタスクの "completed" の値を true に更新します。

次に、配列をループして、各タスクを次の形式で表示します。

  • タスクが完了している場合: - [task description] (Done)
  • タスクが保留中の場合: - [task description] (Pending)

各タスクは別々の行に表示します。

例:

入力が Buy groceriesWalk the dogFinish homeworkCall mom、および 1 の場合、出力は次のようになります。

- Buy groceries (Pending)
- Walk the dog (Done)
- Finish homework (Pending)
- Call mom (Pending)

入力が Clean roomRead bookExerciseCook dinner、および 3 の場合、出力は次のようになります。

- Clean room (Pending)
- Read book (Pending)
- Exercise (Pending)
- Cook dinner (Done)

自分で試してみよう

<?php
// 事前に定義されたタスクコレクション
$tasks = [
    [
        "description" => "Buy groceries",
        "completed" => false
    ],
    [
        "description" => "Walk the dog", 
        "completed" => true
    ],
    [
        "description" => "Read a book",
        "completed" => false
    ],
    [
        "description" => "Exercise",
        "completed" => false
    ]
];

// 入力を読み取る
$taskIndex = trim(fgets(STDIN));
$newStatus = trim(fgets(STDIN));

// TODO: 以下にコードを書いてください
// 入力を適切な型に変換し、タスクを更新する
// 更新されたタスクメッセージを表示する
// すべてのタスクとそのステータスを表示する
// 合計、完了済み、保留中のカウントを含むサマリーを表示する

?>

基礎のすべてのレッスン

自分で練習してみよう: PHPオンラインコンパイラ