Menu
Coddy logo textTech

Accessing Values by Key

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

이제 연관 배열이 무엇인지 이해하셨으니, 연관 배열에서 값을 가져오는 방법을 배워보겠습니다. 인덱스 배열이 숫자 위치를 사용하는 것처럼, 연관 배열은 대괄호 안에 를 사용합니다.

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

echo $person["name"]; // Alice
echo $person["age"];  // 25
?>

구문은 $array["key"]입니다—괄호 안에 문자열로 키를 배치하면 PHP가 해당 값을 반환합니다. 이름이 인덱스 0에 있다는 것을 기억하는 것보다 훨씬 더 읽기 쉽습니다.

또한 가져온 값을 나중에 사용하기 위해 변수에 저장할 수도 있습니다:

<?php
$product = [
    "title" => "Laptop",
    "price" => 999
];

$itemName = $product["title"];
echo $itemName; // Laptop
?>

키는 대소문자를 포함하여 정확히 일치해야 합니다. "Name" 대신 "name"을 사용하면 오류가 발생합니다. PHP는 이들을 다른 키로 취급하기 때문입니다.

때때로 데이터가 PHP 배열이 아닌 JSON 문자열로 도착합니다. JSON(JavaScript 객체 표기법)은 구조화된 데이터를 표현하기 위한 일반적인 텍스트 형식입니다. PHP의 내장 json_decode() 함수는 JSON 문자열을 PHP 값으로 변환합니다. 두 번째 인수로 true를 전달하면 객체 대신 연관 배열을 반환하므로 익숙한 $array["key"] 구문을 사용하여 값에 접근할 수 있습니다.

<?php
$json = '{"name": "Alice", "age": 25}';

$data = json_decode($json, true);

echo $data["name"]; // Alice
echo $data["age"];  // 25
?>
challenge icon

챌린지

쉬움

책의 정보를 나타내는 JSON 객체를 포함하는 입력 줄을 읽으세요 (예: {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}).

그 다음 두 개의 입력을 더 읽으세요:

  • 접근할 첫 번째 키를 나타내는 문자열 key1
  • 접근할 두 번째 키를 나타내는 문자열 key2

JSON 문자열을 연관 배열로 변환하려면, 내장된 json_decode() 함수를 사용하세요. 두 번째 인수로 true를 사용하세요:
$array = json_decode($jsonString, true);
두 번째 인수 true는 PHP에게 객체 대신 연관 배열을 반환하도록 지시합니다. 디코딩된 후에는 일반 연관 배열처럼 키로 값을 접근할 수 있습니다. 예: $array["title"].

JSON 입력으로부터 연관 배열을 생성한 후, 다음을 수행하세요:

  1. key1과 연관된 값을 접근하고 출력하세요
  2. key2와 연관된 값을 $info라는 변수에 저장하세요
  3. $info에 저장된 값을 출력하세요

각 결과를 별도의 줄에 출력하세요.

예제:

입력값이 {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}, title, author인 경우 출력은 다음과 같아야 합니다:

The Great Gatsby
F. Scott Fitzgerald

입력값이 {"name": "Laptop", "brand": "TechCo", "price": 999}, brand, price인 경우 출력은 다음과 같아야 합니다:

TechCo
999

치트 시트

연관 배열에서 값을 가져오려면 대괄호 안에 키를 사용하세요:

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

echo $person["name"]; // Alice
echo $person["age"];  // 25

구문은 $array["key"]입니다. 키는 대소문자를 구분합니다.

가져온 값을 변수에 저장할 수 있습니다:

$product = [
    "title" => "Laptop",
    "price" => 999
];

$itemName = $product["title"];
echo $itemName; // Laptop

json_decode($jsonString, true)를 사용하여 JSON 문자열을 연관 배열로 변환하세요. 두 번째 인수 true는 PHP에게 객체 대신 배열을 반환하도록 지시합니다:

$json = '{"name":"Alice","age":25}';
$data = json_decode($json, true);

echo $data["name"]; // Alice
echo $data["age"];  // 25

직접 해보기

<?php
// JSON 입력을 읽음
$jsonInput = trim(fgets(STDIN));

// 두 개의 키를 읽음
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));

// TODO: 아래에 코드를 작성하세요
// 1. json_decode를 사용하여 JSON 입력으로부터 연관 배열을 생성하세요
// 2. $key1과 연관된 값을 접근하여 출력하세요
// 3. $key2와 연관된 값을 $info라는 변수에 저장하세요
// 4. $info에 저장된 값을 출력하세요

?>
quiz icon실력 점검

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

기초의 모든 레슨