Menu
Coddy logo textTech

완료 상태로 필터링

Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 59번째.

challenge icon

챌린지

쉬움

이전 수업에서 목록에서 작업을 제거했습니다. 이제 작업의 완료 상태에 따라 작업을 필터링하는 기능을 추가하세요.

작업 설명을 위한 네 줄의 입력을 읽으세요 (초기 세 작업과 하나의 새 작업). 그런 다음 다섯 번째 입력을 읽으세요: 완료로 표시할 작업의 인덱스를 나타내는 정수. 여섯 번째 입력을 읽으세요: 제거할 작업의 인덱스를 나타내는 정수. 마지막으로, 작업을 필터링하기 위해 completed 또는 pending인 문자열인 일곱 번째 입력을 읽으세요.

$todos 배열을 구축한 후, 지정된 작업을 완료로 표시하고, 주어진 인덱스의 작업을 제거한 후, 필터 입력에 따라 남은 작업을 필터링하세요:

  • 필터가 completed인 경우, "completed"true인 작업만 표시하세요
  • 필터가 pending인 경우, "completed"false인 작업만 표시하세요

남은 작업을 반복하여 필터와 일치하는 것만 동일한 형식으로 출력하세요:

  • 작업이 완료된 경우: - [task description] (Done)
  • 작업이 대기 중인 경우: - [task description] (Pending)

일치하는 각 작업을 별도의 줄에 출력하세요.

예시:

입력값이 Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2, 및 completed인 경우, 출력은 다음과 같아야 합니다:

- Walk the dog (Done)

입력값이 Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2, 및 pending인 경우, 출력은 다음과 같아야 합니다:

- Buy groceries (Pending)
- Call mom (Pending)

직접 해보기

<?php
// 미리 정의된 작업 컬렉션
$tasks = [
    [
        "description" => "Buy groceries",
        "completed" => false
    ],
    [
        "description" => "Walk the dog", 
        "completed" => true
    ],
    [
        "description" => "Read a book",
        "completed" => false
    ],
    [
        "description" => "Exercise",
        "completed" => true
    ],
    [
        "description" => "Clean house",
        "completed" => false
    ],
    [
        "description" => "Call mom",
        "completed" => true
    ]
];

// 필터 유형 입력 읽기
$filterType = trim(fgets(STDIN));

// TODO: 아래에 코드를 작성하세요
// tasks를 반복하기 위해 foreach 루프 사용
// 완료 상태에 따라 작업을 필터링하기 위해 조건부 로직 사용
// 요구된 형식으로 결과를 표시

?>

기초의 모든 레슨