Menu
Coddy logo textTech

키와 값으로 반복하기

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

이전 레슨에서는 foreach를 사용해 배열의 각 값에 접근하는 방법을 배웠습니다. 하지만 키도 필요하다면 어떻게 해야 할까요? 이는 연관 배열을 사용할 때 특히 유용합니다.

foreach 루프에는 각 반복에서 키와 값을 모두 제공하는 확장 구문이 있습니다:

<?php
$person = [
    "name" => "Alice",
    "age" => 25,
    "city" => "Paris"
];

foreach ($person as $key => $value) {
    echo "$key: $value\n";
}
?>

다음과 같이 출력됩니다:

name: Alice
age: 25
city: Paris

foreach ($array as $key => $value) 구문은 현재 키를 $key에 할당하고 해당 값을 $value에 할당합니다. 이러한 변수의 이름은 원하는 대로 지정할 수 있지만, 의미가 잘 드러나도록 유지하세요.

이는 키가 숫자 인덱스인 인덱스 배열에서도 작동합니다:

<?php
$colors = ["red", "green", "blue"];

foreach ($colors as $index => $color) {
    echo "$index: $color\n";
}
?>

다음과 같이 출력됩니다:

0: red
1: green
2: blue

키와 값 모두에 액세스할 수 있으면 레이블이 지정된 데이터를 쉽게 표시하거나 키에 따라 달라지는 작업을 수행할 수 있습니다.

challenge icon

챌린지

쉬움

product를 나타내는 key와 value가 포함된 JSON 객체를 담은 한 줄의 input을 읽습니다(예: {"name":"Laptop","price":"999","stock":"25"}).

key-value syntax를 사용하는 foreach loop를 사용하여 product data를 순회합니다. 각 key와 해당 value를 다음 format으로 출력합니다:

[key] => [value]

각 key-value 쌍을 별도의 줄에 출력합니다.

예제 1:

input이 {"name":"Laptop","price":"999","stock":"25"}이면 output은 다음과 같아야 합니다:

name => Laptop
price => 999
stock => 25

예제 2:

input이 {"title":"PHP Basics","author":"John","pages":"350"}이면 output은 다음과 같아야 합니다:

title => PHP Basics
author => John
pages => 350

예제 3:

input이 {"city":"Paris","country":"France"}이면 output은 다음과 같아야 합니다:

city => Paris
country => France

직접 해보기

<?php
// JSON 입력을 읽습니다
$input = trim(fgets(STDIN));

// JSON을 연관 배열로 변환합니다
$product = (array)json_decode($input, true);

// TODO: 아래에 코드를 작성하세요
// key-value 구문을 사용하는 foreach 루프로 product 데이터를 반복합니다
// 각 key와 value를 [key] => [value] 형식으로 출력합니다

?>
quiz icon실력 점검

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

기초의 모든 레슨

직접 연습해 보세요: 온라인 PHP 컴파일러