Menu
Coddy logo textTech

while 반복문

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

for 루프는 반복 횟수를 정확히 알 때 훌륭하게 작동하지만, while 루프는 조건이 거짓이 될 때까지 반복을 계속하고 싶을 때 완벽합니다.

while 루프는 각 반복 전에 조건을 확인합니다. 조건이 참이면 내부 코드가 실행됩니다. 이것은 조건이 거짓이 될 때까지 계속됩니다.

<?php
$count = 1;

while ($count <= 3) {
    echo "Count: $count\n";
    $count++;
}
?>

이것은 다음과 같이 출력됩니다:

Count: 1
Count: 2
Count: 3

루프는 $count <= 3인지 확인하는 것으로 시작합니다. 이것이 참이므로, 코드가 실행되고 $count가 증가합니다. $count가 4에 도달하면, 조건이 실패하고 루프가 멈춥니다.

중요: 루프 내부에서 조건을 결국 false로 만드는 무언가가 있음을 항상 확인하세요. 그렇지 않으면, 실행이 멈추지 않는 무한 루프를 만들게 됩니다.

<?php
$total = 0;
$num = 1;

while ($total < 10) {
    $total += $num;
    $num++;
}

echo $total;
?>

이것은 총합이 10에 도달하거나 초과할 때까지 숫자를 계속 더한 후, 최종 값을 출력합니다.

challenge icon

챌린지

쉬움

입력에서 타겟 합계를 나타내는 단일 정수를 읽으세요.

while 루프를 사용하여 1부터 시작하는 연속된 숫자(1, 2, 3, 4, ...)를 더하여 총합이 타겟 합계에 도달하거나 초과할 때까지 추가하세요.

첫 번째 줄에 최종 총합을 출력하고, 두 번째 줄에 마지막으로 추가된 숫자를 출력하세요.

예제 1:

입력값이 10인 경우, 출력은 다음과 같아야 합니다:

10
4

(1 + 2 + 3 + 4 = 10, 타겟에 도달함)

예제 2:

입력값이 15인 경우, 출력은 다음과 같아야 합니다:

15
5

(1 + 2 + 3 + 4 + 5 = 15)

예제 3:

입력값이 7인 경우, 출력은 다음과 같아야 합니다:

10
4

(1 + 2 + 3 + 4 = 10, 7을 초과함)

치트 시트

while 루프는 각 반복 전에 조건을 확인하고, 조건이 거짓이 될 때까지 실행을 계속합니다.

기본 구문:

<?php
$count = 1;

while ($count <= 3) {
    echo "Count: $count\n";
    $count++;
}
?>

루프는 각 반복 전에 $count <= 3인지 확인합니다. 조건이 거짓이 되면 루프가 멈춥니다.

중요: 루프 내부에서 결국 조건을 거짓으로 만드는 무언가가 있는지 항상 확인하여 무한 루프를 피하세요.

누적 예제:

<?php
$total = 0;
$num = 1;

while ($total < 10) {
    $total += $num;
    $num++;
}

echo $total;
?>

직접 해보기

<?php
// 목표 합계를 읽습니다
$target = intval(fgets(STDIN));

// 변수를 초기화합니다
$total = 0;
$num = 0;

// TODO: 여기에 코드를 작성하세요
// while 루프를 사용하여 연속된 숫자(1, 2, 3, ...)를 더합니다
// 합계가 목표치에 도달하거나 초과할 때까지


// 최종 합계와 마지막으로 더해진 숫자를 출력합니다
echo $total . "\n";
echo $num;
?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨