본문 바로가기
IT이야기

3. PHP 조건문과 반복문: 흐름 제어 구조 이해하기

by kinderports 2024. 10. 12.
반응형

 

PHP 조건문과 반복문: 흐름 제어 구조 이해하기

PHP에서 조건문과 반복문은 코드의 흐름을 제어하는 중요한 도구입니다. 프로그램이 실행되는 동안 특정 조건을 만족하는지 여부에 따라 코드의 실행 여부를 결정하거나, 동일한 작업을 반복적으로 수행할 수 있도록 도와줍니다. 이러한 구조를 잘 이해하고 적절히 사용하는 것은 효율적인 코드 작성에 필수적입니다.

이번 글에서는 PHP에서 사용하는 다양한 조건문과 반복문에 대해 자세히 설명하고, 이를 실전에서 어떻게 활용할 수 있는지 예제를 통해 알아보겠습니다.

조건문: 특정 조건에 따라 코드 실행하기

조건문은 주어진 조건이 참일 때와 거짓일 때 각각 다른 코드를 실행할 수 있도록 합니다. PHP에서는 대표적으로 if, else, elseif, switch 조건문이 사용됩니다. 조건문을 통해 코드를 더 유연하게 제어할 수 있습니다.

if 문

if 문은 주어진 조건이 참(true)일 경우에만 코드 블록을 실행합니다. 기본적인 형식은 다음과 같습니다:

 

<?php
$age = 18;

if ($age >= 18) {
    echo "성인입니다.";
}
?>

위의 예제에서, 변수 $age가 18 이상인 경우에만 "성인입니다."라는 메시지가 출력됩니다. 이처럼 if 문을 사용하면 특정 조건을 만족할 때만 코드를 실행할 수 있습니다.

if-else 문

if-else 문은 조건이 이면 if 블록의 코드를 실행하고, 조건이 거짓(false)이면 else 블록의 코드를 실행합니다.

 

<?php
$age = 16;

if ($age >= 18) {
    echo "성인입니다.";
} else {
    echo "성인이 아닙니다.";
}
?>

이 예제에서 $age 값이 18보다 작기 때문에 "성인이 아닙니다."라는 메시지가 출력됩니다.

if-elseif-else 문

조건이 여러 개일 때는 if-elseif-else 문을 사용하여 여러 가지 경우의 수를 처리할 수 있습니다.

 

<?php
$score = 85;

if ($score >= 90) {
    echo "A 학점";
} elseif ($score >= 80) {
    echo "B 학점";
} elseif ($score >= 70) {
    echo "C 학점";
} else {
    echo "F 학점";
}
?>

이 코드에서는 점수에 따라 다른 학점이 출력됩니다. elseif를 사용하여 여러 조건을 차례대로 평가하고, 마지막에 모든 조건이 거짓일 때는 else 블록을 실행하게 됩니다.

switch 문

switch 문은 변수의 값에 따라 여러 블록 중 하나를 선택하여 실행하는 조건문입니다. 많은 조건을 처리할 때 if-elseif보다 가독성이 좋은 구조를 제공합니다.

 

<?php
$day = "월요일";

switch ($day) {
    case "월요일":
        echo "오늘은 월요일입니다.";
        break;
    case "화요일":
        echo "오늘은 화요일입니다.";
        break;
    case "수요일":
        echo "오늘은 수요일입니다.";
        break;
    default:
        echo "오늘은 주말입니다.";
}
?>

위의 코드에서는 $day 변수의 값이 "월요일"일 경우 "오늘은 월요일입니다."라는 메시지가 출력됩니다. switch 문은 여러 case 중 하나를 선택하고, 선택된 블록을 실행한 후 break 문으로 빠져나옵니다.

반복문: 동일한 작업 반복하기

PHP에서 반복문은 특정 작업을 여러 번 반복할 때 사용됩니다. 주로 for, while, do-while 같은 반복문이 있습니다. 반복문은 코드의 길이를 줄이고, 반복 작업을 효과적으로 처리할 수 있게 해줍니다.

for 문

for 문은 반복 횟수가 명확할 때 주로 사용되며, 반복할 초기값, 종료 조건, 반복할 때마다 수행할 작업을 설정할 수 있습니다.

 

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "숫자: $i <br>";
}
?>

이 예제에서는 $i 변수가 1부터 5까지 증가하면서 "숫자: 1", "숫자: 2" 등의 메시지가 출력됩니다. for 문은 초기값 설정, 조건 확인, 증감식을 한 줄에 모두 명시할 수 있어 간결한 코드 작성이 가능합니다.

while 문

while 문은 주어진 조건이 인 동안 코드를 반복해서 실행합니다. 조건이 거짓이 되면 반복이 종료됩니다.

 

<?php
$i = 1;

while ($i <= 5) {
    echo "숫자: $i <br>";
    $i++;
}
?>

위의 코드에서 while 문은 $i 변수가 5보다 작거나 같을 때까지 "숫자: X"라는 메시지를 출력합니다. 조건이 참일 때마다 반복을 계속하며, 조건이 거짓이 되면 반복이 끝납니다.

do-while 문

do-while 문은 while 문과 비슷하지만, 조건을 나중에 확인합니다. 즉, 코드 블록을 최소한 한 번은 실행하고, 그 후 조건을 평가하여 반복할지 여부를 결정합니다.

 

<?php
$i = 1;

do {
    echo "숫자: $i <br>";
    $i++;
} while ($i <= 5);
?>

이 예제에서 do-while 문은 먼저 "숫자: 1"을 출력한 후 조건을 확인합니다. 조건이 참이면 계속해서 반복하고, 조건이 거짓이면 반복을 멈춥니다.

foreach 문

foreach 문은 배열이나 객체와 함께 사용되어, 배열의 각 요소나 객체의 각 속성을 쉽게 순회할 수 있습니다. 주로 배열의 데이터를 처리할 때 많이 사용됩니다.

 

<?php
$fruits = array("Apple", "Banana", "Orange");

foreach ($fruits as $fruit) {
    echo "과일: $fruit <br>";
}
?>

이 예제에서는 배열 $fruits의 각 요소를 순회하며 "과일: Apple", "과일: Banana", "과일: Orange"라는 메시지를 차례대로 출력합니다. foreach 문은 배열의 각 값을 순차적으로 처리하는 데 매우 유용한 반복문입니다.

조건문과 반복문의 실전 활용 예시

PHP에서 조건문과 반복문을 결합하면 더욱 복잡한 로직을 구현할 수 있습니다. 예를 들어, 사용자가 입력한 값을 기반으로 동작하는 프로그램을 만들 수 있습니다.

조건문과 반복문을 사용한 예시: 구구단 출력

 

<?php
for ($i = 1; $i <= 9; $i++) {
    for ($j = 1; $j <= 9; $j++) {
        echo "$i x $j = " . ($i * $j) . "<br>";
    }
    echo "<br>";
}
?>

이 코드는 이중 for 문을 사용하여 구구단을 출력하는 예제입니다. 첫 번째 for 문이 1부터 9까지 순회하면서 각 단을 설정하고, 두 번째 for 문이 각 단에 대해 곱셈 결과를 출력합니다.

흐름 제어에서 자주 사용하는 break와 continue

반복문 내에서 특별한 조건이 발생했을 때, 반복을 중단하거나 건너뛰는 경우가 있습니다. 이를 위해 PHP는 breakcontinue를 제공합니다.

break 문

break 문은 반복문을 즉시 종료하고, 반복문 블록 밖으로 빠져나옵니다.

 

<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        break;  // 반복문 종료
    }
    echo "숫자: $i <br>";
}
?>

이 코드는 $i가 5가 되는 순간 break 문이 실행되어 반복문이 종료됩니다.

continue 문

continue 문은 현재 반복을 중단하고, 다음 반복으로 넘어갑니다.

 

<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        continue;  // 5는 건너뜀
    }
    echo "숫자: $i <br>";
}
?>

이 코드에서는 $i가 5일 때 continue 문이 실행되어 5를 건너뛰고 다음 반복으로 넘어갑니다.

흐름 제어 구조의 활용

PHP에서 조건문과 반복문은 프로그램의 로직을 구성하는 중요한 요소입니다. 특히 복잡한 로직을 처리할 때 조건문을 통해 상황에 맞게 처리하고, 반복문을 통해 동일한 작업을 반복함으로써 코드의 효율성을 높일 수 있습니다. 조건문과 반복문을 적

절히 결합하면 복잡한 웹 애플리케이션에서 데이터 처리, 사용자 입력 처리 등을 효율적으로 구현할 수 있습니다.