PHP - While Loop: A Beginner's Guide
안녕하세요, 꿈을 가진 프로그래머 여러분! 오늘 우리는 PHP 프로그래밍에서 가장 기본적인 개념 중 하나인 While Loop에 대해 깊이 알아보겠습니다. 코드를 한 줄도 작성해본 적이 없더라도 걱정하지 마세요 - 저는 여러분을 단계별로 안내해 드릴 것입니다. 그리고 몇 년 동안 수업을 통해 수많은 학생들을 가르쳐온 경험을 바탕으로 말입니다.
What is a While Loop?
먼저 예제로 들어가기 전에 While Loop이 무엇인지 이해해 보겠습니다. 치을 양치질할 때, 한 번만 양치질하고 그만두는 건 아니죠? 치가 깨끗해질 때까지 계속 양치질합니다. 프로그래밍에서 While Loop도 정확히 이와 같은 원리로 작동합니다!
While Loop은 주어진 조건이 참인 동안 코드 블록을 반복적으로 실행합니다. 마치 컴퓨터에게 "이 조건이 참인 동안 이 작업을 계속해라"고 말하는 것과 같습니다.
이제 이를 더 명확히 하기 위해 몇 가지 예제를 보겠습니다.
Example 1: Counting to 5
<?php
$count = 1;
while ($count <= 5) {
echo $count . " ";
$count++;
}
?>
이 코드를 실행하면 다음과 같이 보입니다: 1 2 3 4 5
이를 설명해 보겠습니다:
-
$count = 1
로 시작합니다. - 루프는
$count <= 5
를 확인합니다. (count가 5보다 작거나 같은가?) - 참이면 현재
$count
의 값을 출력합니다. - 그런 다음
$count
를 1 증가시킵니다 ($count++
). - 이 과정이
$count
가 6이 될 때까지 반복됩니다. 그때 조건이 거짓이 되고 루프가 중지됩니다.
Example 2: Decreasing Counter
이전 예제를 뒤집어 보겠습니다:
<?php
$count = 5;
while ($count > 0) {
echo $count . " ";
$count--;
}
echo "Blast off!";
?>
출력: 5 4 3 2 1 Blast off!
이번에는 내림입니다! 로켓 발사 카운트다운과 같습니다. 5에서 시작하여 count가 0이 될 때까지 계속합니다. 루프를 돌 때마다 count를 1 감소시킵니다 ($count--
).
Example 3: User Input
인터랙티브하게 만들어 보겠습니다:
<?php
$correct_password = "secret123";
$attempt = "";
while ($attempt != $correct_password) {
$attempt = readline("Enter the password: ");
if ($attempt != $correct_password) {
echo "Incorrect, try again!\n";
}
}
echo "Access granted!";
?>
이 스크립트는 비밀번호 입력 시스템을 시뮬레이션합니다. 입력된 비밀번호가 틀리면 계속 비밀번호를 요청합니다. 집 문 앞에서 키를 기억할 때까지 기다리는 것과 같습니다!
Iterating an Array with "while"
배열은 PHP에서 목록과 같습니다. While 루프를 사용하여 배열을 순회해 보겠습니다:
<?php
$fruits = array("Apple", "Banana", "Cherry", "Date", "Elderberry");
$i = 0;
while ($i < count($fruits)) {
echo $fruits[$i] . "\n";
$i++;
}
?>
이렇게 하면 각 과일을 새 줄에 출력합니다. count($fruits)
는 배열의 항목 수를 반환하므로, 우리는 카운터가 이 수보다 작은 동안 루프를 계속합니다.
Nested "while" Loops
때로는 루프 안에 루프가 필요합니다. 바퀴 안에 바퀴가 있는 것과 같은 이치입니다:
<?php
$i = 1;
while ($i <= 3) {
$j = 1;
while ($j <= 3) {
echo $i . "-" . $j . " ";
$j++;
}
echo "\n";
$i++;
}
?>
출력:
1-1 1-2 1-3
2-1 2-2 2-3
3-1 3-2 3-3
이렇게 하면 3x3 그리드를 만듭니다. 외부 루프는 행을 제어하고, 내부 루프는 열을 제어합니다.
Traversing the Characters in a String
PHP에서 문자열은 문자의 시퀀스입니다. While 루프를 사용하여 문자열의 각 문자를 순회할 수 있습니다:
<?php
$word = "Hello";
$i = 0;
while ($i < strlen($word)) {
echo $word[$i] . "\n";
$i++;
}
?>
이렇게 하면 "Hello"의 각 글자를 새 줄에 출력합니다. strlen($word)
는 문자열의 길이를 반환합니다.
Using the "endwhile" Statement
PHP는 While 루프에 대해 endwhile
를 사용하는 대안 문법을 제공합니다:
<?php
$count = 1;
while ($count <= 5):
echo $count . " ";
$count++;
endwhile;
?>
이는 우리의 첫 번째 예제와 같은 작업을 수행하지만, 일부 사람들은 더 긴 루프에서 이 문법이 더 명확하다고 생각합니다.
Common While Loop Methods
여기서는 While 루프에서 흔히 사용되는 방법들에 대해 설명합니다:
Method | Description | Example |
---|---|---|
break |
루프를 즉시 종료합니다 | if ($count == 3) break; |
continue |
현재 반복에서 나머지 작업을 건너뜁니다 | if ($count == 3) continue; |
$variable++ |
변수를 1 증가시킵니다 | $count++; |
$variable-- |
변수를 1 감소시킵니다 | $count--; |
기억하시기 바랍니다, While 루프는 강력하지만 조심해야 합니다! 조건이 결코 거짓이 되지 않으면 무한 루프를 만들어 프로그램이 중지되지 않을 수 있습니다. 마치 누군가가 지구의 끝까지 걸어가라고 말하는 것과 같습니다 - 그들은 영원히 걸어갈 것입니다!
결론적으로, While 루프는 PHP 프로그래밍에서 기본적인 도구입니다. 반복 작업을 수행하고 데이터 목록을 처리하며 코드에서 복잡한 동작을 만들 수 있습니다. 이 예제를 연습하고, 자신만의 아이디어를 실험하면 곧 프로처럼 루프를 사용하게 될 것입니다!
Credits: Image by storyset