PHP Academy · 강의

foreach와 반복 제어

foreach로 배열을 순회하고 break와 continue를 사용합니다.

레슨 4/413개 단계

foreach와 반복 제어은(는) CoddyKit의 무료 PHP Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 PHP Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

foreach: 배열 반복문

foreach는 PHP에서 배열과 객체를 순회하는 관용적인 방법으로, 인덱스를 직접 관리할 필요가 없습니다.

인덱스 배열에서 foreach 사용

인덱스 배열의 값을 순회합니다:

<?php
$fruits = ['apple', 'banana', 'cherry'];

foreach ($fruits as $fruit) {
    echo $fruit . PHP_EOL;
}
// apple
// banana
// cherry

키 => 값과 함께 사용하는 foreach

각 반복에서 키와 값을 모두 가져옵니다:

<?php
$person = ['name' => 'Alice', 'age' => 30, 'city' => 'London'];

foreach ($person as $key => $value) {
    echo "$key: $value" . PHP_EOL;
}
// name: Alice
// age: 30
// city: London

중첩 foreach

배열로 이루어진 배열을 순회합니다(예: 데이터베이스 결과 집합):

<?php
$users = [
    ['name' => 'Alice', 'role' => 'admin'],
    ['name' => 'Bob',   'role' => 'user'],
];

foreach ($users as $user) {
    echo $user['name'] . ' is ' . $user['role'] . PHP_EOL;
}

배열 요소 수정

foreach 안에서 배열 값을 수정하려면 참조 &$value를 사용하십시오:

<?php
$prices = [10, 20, 30];

foreach ($prices as &$price) {
    $price *= 1.1;  // 10% price increase
}
unset($price);  // always unset after reference loop!

print_r($prices); // [11, 22, 33]

foreach에서 break 사용

break를 사용하면 foreach 반복문을 일찍 종료할 수 있습니다:

<?php
$ids = [1, 2, 3, 4, 5];
$target = 3;

foreach ($ids as $id) {
    if ($id === $target) {
        echo 'Found: ' . $id;
        break;
    }
}

foreach에서 continue 사용

continue를 사용하면 특정 항목을 건너뛸 수 있습니다:

<?php
$numbers = [1, 2, 3, 4, 5, 6];

foreach ($numbers as $n) {
    if ($n % 2 === 0) continue;  // skip evens
    echo $n . ' ';  // 1 3 5
}

foreach와 함께 사용하는 list()

list() 또는 간단한 표기법 []을 사용해 내부 배열을 인라인으로 구조 분해할 수 있습니다:

<?php
$coords = [[10, 20], [30, 40], [50, 60]];

foreach ($coords as [$x, $y]) {
    echo "x=$x, y=$y" . PHP_EOL;
}
// x=10, y=20
// x=30, y=40

객체 순회

foreach는 객체에서도 작동하며, 기본적으로 공개 속성을 순회합니다:

<?php
class Config {
    public string $host = 'localhost';
    public int    $port = 3306;
    public string $db   = 'myapp';
}

foreach (new Config() as $key => $val) {
    echo "$key = $val" . PHP_EOL;
}

foreach 대상인 제너레이터

PHP의 제너레이터를 사용하면 모든 데이터를 메모리에 로드하지 않고도 대규모 데이터 집합을 순회할 수 있습니다:

<?php
function range100(): Generator {
    for ($i = 1; $i <= 100; $i++) {
        yield $i;
    }
}

foreach (range100() as $num) {
    if ($num > 5) break;
    echo $num . ' ';  // 1 2 3 4 5
}

array_walk와 foreach 비교

array_walk는 모든 요소에 콜백을 직접 적용하며, 간단한 변환에서 foreach의 대안으로 사용할 수 있습니다:

<?php
$names = ['alice', 'bob', 'carol'];

array_walk($names, function (&$name) {
    $name = ucfirst($name);
});

print_r($names); // ['Alice', 'Bob', 'Carol']

빠른 확인

foreach에서 배열을 참조로 순회한 후에는 무엇을 해야 합니까?

복습: foreach와 반복 제어

핵심 내용은 다음과 같습니다:

  • 값에는 foreach ($arr as $val)을 사용합니다
  • 키-값 쌍에는 foreach ($arr as $key => $val)을 사용합니다
  • 제자리에서 수정하려면 &$val 참조를 사용하고, 사용이 끝난 후에는 항상 설정을 해제하십시오
  • break와 continue는 foreach 안에서 사용할 수 있습니다
  • [$a, $b]를 사용해 내부 배열을 구조 분해할 수 있습니다
  • 제너레이터를 사용하면 foreach가 대규모 데이터 집합을 메모리 효율적으로 처리할 수 있습니다
무료로 시작

AI 튜터와 함께 PHP을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
49
레슨
195

자주 묻는 질문

“foreach와 반복 제어” 강의는 무료인가요?

네 — “foreach와 반복 제어” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 PHP Academy 강의 전체를 잠금 해제할 수 있습니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“foreach와 반복 제어”에서 뭘 배우나요?

foreach로 배열을 순회하고 break와 continue를 사용합니다. 브라우저에서 직접 실행하는 실습 코드로 PHP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

PHP Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 PHP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“foreach와 반복 제어” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 PHP Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 PHP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. if, elseif 및 else
  2. Switch와 Match 문
  3. for 및 while 반복문
  4. foreach와 반복 제어
← PHP Academy(으)로 돌아가기