키와 값으로 반복하기
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키와 값에 모두 접근할 수 있으면 레이블이 있는 데이터를 표시하거나 키에 의존하는 작업을 수행하기 쉽습니다.
챌린지
쉬움키와 값이 포함된 제품을 나타내는 JSON 객체를 포함하는 입력의 한 줄을 읽으세요 (예: {"name":"Laptop","price":"999","stock":"25"}).
제품 데이터를 반복하기 위해 키-값 구문을 사용한 foreach 루프를 사용하세요. 각 키와 해당 값을 다음 형식으로 출력하세요:
[key] => [value]각 키-값 쌍을 별도의 줄에 출력하세요.
예제 1:
입력값이 {"name":"Laptop","price":"999","stock":"25"}인 경우 출력은 다음과 같아야 합니다:
name => Laptop
price => 999
stock => 25예제 2:
입력값이 {"title":"PHP Basics","author":"John","pages":"350"}인 경우 출력은 다음과 같아야 합니다:
title => PHP Basics
author => John
pages => 350예제 3:
입력값이 {"city":"Paris","country":"France"}인 경우 출력은 다음과 같아야 합니다:
city => Paris
country => France치트 시트
foreach 루프는 확장된 구문을 사용하여 각 반복에서 키와 값을 모두 제공할 수 있습니다:
foreach ($array as $key => $value) {
// $key와 $value 사용
}연관 배열을 사용한 예제:
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
foreach ($person as $key => $value) {
echo "$key: $value\n";
}출력:
name: Alice
age: 25
city: Paris이 구문은 키가 숫자 인덱스인 인덱스 배열에서도 작동합니다:
$colors = ["red", "green", "blue"];
foreach ($colors as $index => $color) {
echo "$index: $color\n";
}출력:
0: red
1: green
2: blue직접 해보기
<?php
// JSON 입력 읽기
$input = trim(fgets(STDIN));
// JSON을 연관 배열로 변환
$product = (array)json_decode($input, true);
// TODO: 아래에 코드 작성
// 제품 데이터를 반복하기 위해 키-값 구문을 사용한 foreach 루프 사용
// 각 키와 값을 형식: [key] => [value]로 출력
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators