Modifying Values by Key
Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 43번째.
인덱스 배열의 요소를 위치에 따라 수정하는 방법을 배운 것처럼, 키(keys)를 사용하여 연관 배열의 값을 업데이트할 수 있습니다. 구문은 동일합니다. 기존 키에 새로운 값을 할당하면 됩니다.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>이미 존재하는 키에 값을 할당하면, PHP는 단순히 이전 값을 새 값으로 대체합니다. 키 자체는 변경되지 않으며 연결된 값만 업데이트됩니다.
이것은 데이터가 시간이 지남에 따라 변경되어야 할 때 유용합니다. 예를 들어, 사용자의 상태를 업데이트하거나, 제품의 가격을 변경하거나, 잘못 입력된 정보를 수정하는 경우입니다. 키는 안정적인 참조 지점 역할을 하며, 값은 필요에 따라 수정될 수 있습니다.
챌린지
쉬움제품 정보를 나타내는 JSON 객체가 포함된 입력 한 줄을 읽습니다 (예: {"name": "Laptop", "price": 999, "stock": 50}).
그런 다음 네 개의 입력을 더 읽습니다:
- 문자열
key1- 업데이트할 첫 번째 키 - 문자열
value1-key1에 대한 새로운 값 - 문자열
key2- 업데이트할 두 번째 키 - 문자열
value2-key2에 대한 새로운 값
JSON 입력으로부터 연관 배열을 생성한 후, 다음을 수행합니다:
key1과 연관된 값을value1으로 업데이트합니다.key2과 연관된 값을value2으로 업데이트합니다.key1의 업데이트된 값을 출력합니다.key2의 업데이트된 값을 출력합니다.
각 결과를 별도의 줄에 출력합니다.
예시:
입력이 {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock, 45라면, 출력은 다음과 같아야 합니다:
1099
45입력이 {"city": "Paris", "country": "France", "population": 2000000}, city, London, country, UK라면, 출력은 다음과 같아야 합니다:
London
UK직접 해보기
<?php
// JSON 입력을 읽습니다
$jsonInput = trim(fgets(STDIN));
// 업데이트할 키와 값을 읽습니다
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
// JSON을 연관 배열로 변환합니다
$product = (array)json_decode($jsonInput, true);
// TODO: 아래에 코드를 작성하세요
// 1. key1에 해당하는 값을 value1으로 업데이트합니다
// 2. key2에 해당하는 값을 value2으로 업데이트합니다
// 3. 업데이트된 값들을 출력합니다
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables 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