키와 값으로 반복하기
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: Parisforeach ($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키와 값 모두에 액세스할 수 있으면 레이블이 지정된 데이터를 쉽게 표시하거나 키에 따라 달라지는 작업을 수행할 수 있습니다.
챌린지
쉬움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] 형식으로 출력합니다
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 PHP 컴파일러